For your specific example, probably because the implementation is different.<p>The most notable difference is that arrow functions do not set the &quot;arguments&quot; variable, but there are other subtleties.<p>I&#x27;m not sure how it is done in V8 and co, but if the code is highly optimized, you might have to rewrite big chunks of it, even for small differences, because your optimizations do not go along with a slightly different implementation, or to avoid painful regressions.