DRYer function argument checking 03

I’ve gone on and implemented a logic “OR” method to allow for more flexible function arguments evaluation.

The problem

Trying to make function and methods argument evaluation a more streamlined process I do not want to lose any possibility a “normal” evaluation would allow.
In WordPress functions a recurring case is the one where a value might be a string or a boolean, an array or a string and so on and since I’m relying on such methods myself I could solve the problem with the current Args implementation to go from this code

if ( !is_string($value) && !is_bool($value)){
    throw new InvalidArgumentException('Value must be a string or a bool');

to this one using the assert() method

Arg::_($value)->assert(is_string($value) || is_bool($value));


Since the assert() method solution alone “works” but does not “kicks” I’ve added the _or() method to the class.
The check above might be rewritten using the new method like


In latin “vel” means “or” (as “aut” does) so I’ve added the vel() and aut() methods as aliases of the _or() method too.