Proper Tail Call

See ProperTailRecursion.