[Haskell-cafe] different behaviours with or without putStrLn