(% program-state +-
    ...
)

(@ +-
    (# msg-in (@ msg +-
                  (# reply-to msg 
                              msg.layer-id 
                              state (@ st +-
                                        (st .state)
                                    )
                  )
    -
        (% 
            .state ..
        )
    )
)

(@ reply-to msg HTTP_GET state @fp +-
    (# check-user request 
     # process request 
     # fp state -
         (# http-request msg .request)
    )
+
    {program-state} state
)

(@ reply-to msg HTTP_POST state @fp +-
    ...
+
    {program-state} state
)

(@ reply-to msg . state @fp +-
    (# fp state)
+
    {program-state} state
)
