Thanks for this information.<p>My point was more that map and reduce do not inherently <i>require</i> a recursive implementation and can be implemented directly as loops.<p>I don&#x27;t follow closely TypeScript: is tail-call merging done when compiling to Javascript or is the Javascript runtime responsible for this behavior?