Monad Transformers allow to combine the functionality of more than one monad. See these external resources (http://haskell.org/haskellwiki/Monad_Transformers_Explained , http://uebb.cs.tu-berlin.de/~magr/pub/Transformers.pdf). Also see OnMonads, MonadicProgramming, HaskellLanguage, M''''''oreThanMeetsTheEye ---- CategoryFunctionalProgramming