No sane optimizer is going to emit the functional code as a gajillion function calls.
If I run this in the JS console I get two anonymous stack frames. The first being the console itself.
[1, 2, 3].filter(x => [][0]())I'm going to take my own advice and go back to work :)