A function f is tail recursive if the recursive call of f is the last step for computing f.
https://www.geeksforgeeks.org/dsa/tail-recursion/