Tail recursion optimization.  Tail recursive functions are converted into loops.