[Haskell-cafe] Pulling a monad out of a functor