I've never heard of tail recursion being used as a performance optimization. Generally it's required to prevent a recursive function from blowing the stack.
Iteration is usually more performant than recursion, but doesn't mix well with immutability.
Re:The Functional Style (2018)
by Technetium_Hat on Sunday March 24, 2019 @09:55PM
(#19479807)
Tail calls _are_ iteration, just expressed as a function.
FP Astronaut -- Super focused on hypothetical, academic, mathematical concerns and random performance optimizations (e.g. tail recursion) over clarity. I think scala's Slick library is an example of this.
FP Pragmatist -- Concerned about clarity, debugging, logging, correctness, readability by all skill levels, modifiability, documentation, the common cases first and the extreme cases last
I think you can be a big FP advocate without being an off-putting incomprehensible blowhard