[Haskell-cafe] Lazy evaluation and tail-recursion