Context is relevant, the context here is language semantics, not things going faster.
TCO is fine to make things go faster, like inlining, unrolling, LICM, ....
TCO is hot garbage when you rely on it for program correctness.