[Haskell-beginners] IO and purity