[Haskell] Lazy IO breaks purity