LO
Size: a a a
LO
YS
LO
YS
LO
YS
LO
YS
LO
LO
YS
YS
LO
LO
YS
YS
YS
LO
newtype Snap a = Snap {
unSnap :: forall r . (a -> SnapState -> IO r) -- success continuation
-> (Zero -> SnapState -> IO r) -- mzero continuation
-> SnapState -- state for the monad
-> IO r
}
LO
YS
StateT SnapState IO
?