Tail call(tail call optimization)

Tail-call optimization is where you are able to
avoid allocating a new stack frame for a function
because the calling function will simply return
the value that it gets from the called function.
The most common use is tail-recursion, where a
recursive function written to take advantage of
tail-call optimization can use constant stack
space.