A tail call of f in g occurs if g returns the result of f directly
In Scheme, tail calls must be implemented efficiently as jumps - the stack frame of g is discarded when f is called
Guy Steele: Tail calls are GOTOs with parameters
(define (g ...) .... (f ...))