[–] NotSurvivingLife [S] 0 points 1 point 1 point (+1|-0) ago
TCO can and will cause problems with exceptions. In particular, the stack trace will be incomplete. It also turns some stack overflows (which can often be dealt with) into infinite loops (which are harder to deal with).
Something like how CSS is done - with vendor prefixes / namespacing that later gets dropped - would work well for this sort of thing. Not perfectly, but "good enough", I think.
I suspect that said annotations would be useful both for code and data (as for said, imperative versus functional).