Just because you need a red annotation doesn’t mean they don’t have TCO. Most people consider Scala to have TCO, and you need rec annotations as well. Also I said mutation is discouraged for ML languages, not that it hard. Point taken about the imperative control structures, though.