Tail recursion

See Haskell Tail recursion