If you need to do tail call optimization then your only choices are trampolines are Babel as I wrote about here: <a href="https://taylodl.wordpress.com/2015/08/09/functional-javascript-tail-call-optimization-and-babel/" rel="nofollow">https://taylodl.wordpress.com/2015/08/09/functional-javascri...</a>