[Haskell-cafe] Lifting IO (IO a) -> IO a to m (m a) -> m a with monad-control