[Haskell-cafe] Monad classes and FreeT