see #1023
Optional arguments should be done with ... in ES6. This is an issue in Safari in strict mode but for future-safety adapter should probably stop doing stupid things here. As a bonus we get more correct on the number of arguments without weird hacks.