Argument validation fails if the default value is null

Related to #586, if the default argument is provided but it's a `null`, the `isset()` check will fail. `array_key_exists` must be used instead.