The continuation monad transformer. Can be used to add continuation
handling to any type constructor: the
Monad instance and most
of the operations do not require
m to be a monad.
ContT is not a functor on the category of monads, and many
operations cannot be lifted through it.
ContT r m is strict if and only if
m is.