From Wikipedia: “A tail call is a subroutine call performed as the final action of a procedure.” return foo(); A tail call optimization may occur when the last thing to evaluate before a function returns is a function invocation. In certain circumstances, the interpreter can the reuse current stack frame for the function call instead of creating a new one. Below I will explain what circumstances a

