[Haskell-beginners] How to explain this behaviour of ghc ?