[Haskell-beginners] Stack overflow, but hard to understand