В Clojure нету оптимизации хвостовой рекурсии. Если надо запилить такой код, то там есть
recur. Так что там они тоже не очень быстрые.
По теме, пользовался всемя тремя, расставил для себя в таком порядке: CoffeeScript, ClojureScript, TypeScript. На счет статических типов:
disnetdev.com/contracts.coffee/