Fixing issue #1104 and updating tests.

Doesn't mean that you cannot convince me ;) I'm not always right. In this case I just think that adding the `!== null` check makes it clear for developers that come after us to that line of code will know that `$arg` is fragile and falsey values must be differentiated.