[Haskell-cafe] Optmiization of recursion