[Haskell-beginners] Understanding program stack usage