[Haskell] Laziness and the IO Monad (randomness)