This is the server-side memory-backed implementation of typed sessions. It has the advantage of being able to store arbitrary data structures including functions and other non-serializable data. As a result, though, it is limited to a single server-side process since it's not possible to migrate arbitrary data between nodes. Load balancing with this snaplet requires sticky sessions or a similar technique to ensure that a given client always reaches the same server-side node.
A typed session manager that stores session data by session key in a server-side map.
Location of an encryption key
Name for the session ID cookie
Session timeout in seconds
|-> IO t|
Initializer for new sessions
|-> SnapletInit b (MemorySessionManager t)|
Initializer for the memory-backed typed session snaplet.