> The idea that TCO is needed to "fully" leverage anything is silly.
Functional programming relies completely on recursive functions. You just can't do "full" FP without tail call optimizations.
Now, I do side with the other poster up there that is talking about jumps. You don't even need jumps actually, you can use inlining and loops too, but they do make the compiler's life easier.