>>3
haskell, ocaml, clojure, and common lisp don't have TCO.
with es6 decorators, javascript can do tco the same way that python and clojure do.
i have yet to see a recursive function that could not be written just as simply memoized, as a loop, or a series of maps and folds.