I didn’t write about TCO because it’s not supported anywhere.
Kevin Ennis

I’m glad that ES6 is FINALLY adding proper tail calls to the JavaScript standard. In Elm, a functional language that compiles to JavaScript, tail calls are the ONLY looping construct, so the Elm compiler has to handle them specially, since current JavaScript implementations don’t support them. This means that mutually-tail-recursive functions end up not doing tail recursion, so big data causes stack overflows (the Elm compiler could handle this, at least for mutually-tail-recursive functions inside one module file, but it would hair up the generated JS code quite a bit). I look forward to JavaScript implementations fixing this bug.