[Haskell-beginners] lazyness and tail recursion