Proper tail calls were added to the JS standard, but most implementations don't provide it. V8 even built it then removed it! The concern is worse developer experience. An opt-in syntax has been proposed (cf loop/recur in Clojure) but no consensus. https://www.mgmarlow.com/words/2021-03-27-proper-tail-calls-js/