[Haskell-beginners] Ambiguous MonadIO and Monad