What is MonadBaseControl for?
I'm digging deeper into Yesod's monads, and have encountered MonadBaseControl . I took a look at the hackage doc, and got lost. Could someone tell me the problem it is trying to solve? It comes from the package monad-control , and is one of a pair of type classes (the other one being MonadTransControl ) that enhance MonadBase (resp. MonadTrans ) by supporting an alternative liftBase (resp. lift ) operation for monads that implement it. This enhanced version no longer takes a simple action in the absolute base monad (resp. immediate base monad), but instead takes a function that gets the base