That&#x27;s an argument in favor of explicit tail call syntax.  If there are only two main use-cases (loops and CPS), then why not annotate those two use-cases and leave everything else untouched?<p>The problem with implicit tail call syntax is that suddenly stack traces will be elided from debugging info when you really just wanted a normal function call that happened to be in tail position.  These are really hard-to-track-down bugs, since the stack frame that is elided is precisely the one that made the tail call.