Sadly, proper tail calls got added to Safari, but no other major browser has implemented them.
What that means is that for very large collections, or or even medium-sized collections on very memory-limited devices,
broReduce() will cause a stack overflow and your program will crash. );
I personally find the recursive version very clear and easy to read, but I wrote Lisp for years, so that doesn’t mean everybody will share my love of recursion.
I also find that it’s better to adopt a culture of mentorship and train the team up than it is to dumb the code down.
That doesn’t mean you should be writing totally cryptic code, but it does mean you shouldn’t be afraid of a little functional programming.
Why don’t you start by sending everybody on the team a link to this series? ;)