Do any widely used languages guarantee tail call optimization? It's a pretty niche feature.

[deleted]

Scala, ocaml, racket, clojure, zig.

For recursion only kotlin.

(For most of these only with syntax specifying it)