Hi David,
TCO modifies the call stack, which means features relying on it are not reliable any more, e.g. debug_backtrace, stack trace of an exception, etc. As a result, ES6 only ask to enable TCO in strict mode, which dropped support for func.arguments and func.caller. PHP don't have similar concept yet. In addition, if you check the compatibility for TCO, you will realize only safari provides support for it now.
Regards,
CHU Zhaowei