&gt; I note LLVM made the same mistake :)<p>The tail call problem is a problem of interoperability with C ABIs, not a &quot;mistake&quot; in LLVM. If LLVM hadn&#x27;t made the decisions that it did, it wouldn&#x27;t have gotten any traction at all, since you wouldn&#x27;t be able to link LLVM code with any other libraries (including the system ones).