data Mk k r = Mk {unMk :: Cont k r} instance Functor (Mk k) instance Applicative (Mk k) instance Monad (Mk k) type Mkc k = Mk k ()
type Cont c a = (a -> c) -> c
Continuation monad.