In Haskell you very often acquire values using the with... idiom using
functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
special case of the ContT monad (from transformers) or the Codensity monad
(from kan-extensions). The main purpose behind this package is to provide a
restricted form of these monads specialized to this unusually common case.

The reason this package defines a specialized version of these types is to:
* be more beginner-friendly,
* simplify inferred types and error messages, and:
* provide some additional type class instances that would otherwise be
  orphan instances

Homepage:
http://hackage.haskell.org/package/managed
