I'm happy to change this, but the final value (passed into `assert.argumentTypes(...)`) should be `undefined` when no type check, don't you think?

How can `undefined` mask an error? Just curious...