In this case the spec is written to ignore arguments.length and just look at the value.  Passing `undefined` explicitly is the same as not passing the argument.  This is apparently "ES6 style", even though APIs like `Array.reduce` were written "the other way".   Anyway, I just follow what's written in the spec. ;)