5.4.1: Tail-Call Elimination