Я обобщил батут Clojure loop / recur так, чтобы он работал с косвенной рекурсией: const trampoline...