So can you give me a list of languages that do/don't eliminate tail recursion automatically? Do you have that list memorized? What gcc versions? MSVC? How about java (some JVM's can, some can't). Does Fortran? What about pascal? COBOL? Python (doesn't)? Where are the efficiency tradeoffs in those various language? Is tail recursion ever faster? (never). How does Perl handle it? What about Ruby? One really can't keep this straight -- especially if you don't confine yourself to a very narrow field of languages. All the more reason to be explicit.
This also goes back to my earlier comments about being blunt and forthright with code. Tail-recursion isn't natural in this case. In math, it's natural, but where a loop applies, use the loop. So why do it? What is the value there?
Again, like the other argument, our neurons are wired differently and I doubt we will reach agreement.