type Ms k s r = Mk (s -> k) r type Msc k s = Ms k s () loadMs :: Ms k s s storeMs :: s -> Msc k s modMs :: (s -> s) -> Msc k s fieldMs :: (s -> f) -> Ms k s f nopMs :: Msc k s
Continuation monad with state (just an instance of the continuation monad Mk).