Since ES6 doesn&#x27;t generally support TCO Id recommend using Babel. I wrote about Babel&#x27;s ability to support TCO, and its downsides, here: Functional JavaScript – 
<a href="https:&#x2F;&#x2F;taylodl.wordpress.com&#x2F;2015&#x2F;08&#x2F;09&#x2F;functional-javascript-tail-call-optimization-and-babel&#x2F;" rel="nofollow">https:&#x2F;&#x2F;taylodl.wordpress.com&#x2F;2015&#x2F;08&#x2F;09&#x2F;functional-javascri...</a>