is it reasonable to have a keyword for tail-recusive return? basically it means I'm writing a tail recursive function and give me compile error if it occurs at non-tai-recursive positions
And if it did, how restrictive would that be in practice?
If you didn't have a keyword, then all functions would have to be made stack-safe, which is I think a lot to ask the users in some cases, especially when the language doesn't give you all the tools for it (I think CPS does not work for instance in Elm, currently investigating that a bit).
If you have a keyword, then it would be as restrictive as you'd want it to be I imagine?