[Haskell-beginners] Mixing IO and other monads