- Default values should depend on arguments being undefined, not being missing - "(?:)" for empty pattern happens in RegExp.prototype.source, not the constructor