The contstuff package

This library implements fast and easy to use CPS-based monad
transformers. Most of the usual monad transformers are implemented,
including ChoiceT, ContT, EitherT, MaybeT and StateT. Because of
the design of this library, many other monad transformers are just
special cases of those, including e.g. WriterT.
The Control.ContStuff.Simple module also provides simplified monad
transformer wrappers, which hide the underlying CPS, so you get the
full performance, but with a simplified interface. Currently the
simplified monad transformers are implemented as type synonyms, so
their flexibility is slightly limited.