Compilers Proper Tail Recursion What’s proper tail recursion? How is it different to `regular` tail recursion? Does it require certain calling conventions?