# 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)); ## Or 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 Arg::_($value)->is_string()->_or()->is_bool();

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