[Haskell-beginners] Monads and infinite types