TailRecursion elimination is a special case of TailCallOptimization where the tail call is to the enclosing function.