>>38You never need to worry about the caller; the caller can worry about being returned to and how to continue on from there.
But Scheme programmers need to worry about not growing the stack, ie make sure their looping function calls are actually GOTOing out.
It's sort of like red cuts vs green cuts in Prolog. Green cuts are nice little hints and optimizations you can throw in, but aren't part of the logical semantics of your program. But red cuts are actually programming artifacts that need to be treated as such. In Scheme, the back-end means of calling a function becomes a programming artifact when it comes to looping, and that's a horrible hack-built non-abstraction compared to actual looping constructs.