Tail recursion is a special case of recursion whose very last operation is to invoke the function itself or return a definite value. The previous example is not tail-recursive, since after the call to "factorial(n-1)", the returned value has to be multiplied by n. This (functional) ...