src/Lib/Logic.php
protected static function __orCombinator(array $fs, $a)
    {
        return self::any(Arrays::map(function ($c) use ($a) {
            return $c($a);
        }, $fs));
    }
protected static function __orCombinator(array $fs, $a)
    {
        return self::any(Arrays::map(function ($c) use ($a) {
            return $c($a);
        }, $fs));
    }
protected static function __orCombinator ( array $ fs , $ a ) { return self :: any ( Arrays :: map ( function ( $ c ) use ( $ a ) { return $ c ( $ a ) ; } , $ fs ) ) ; }
Logical Or Combinator

Given n functions {f1, f2, ..., fn}, combine them in such a way to produce a new
function g that returns true given at least one of {f1(x), f2(x), ... fn(x)} return true.

@example
$funcF = function($x) { return $x >= 5; };
$funcG = function($x) { return $x == 0; };
$combinator = Logic::orCombinator([$funcF, $funcG]);
$combinator(9); // True
$combinator(0); // True
$combinator(2); // False

@type [(a -> Bool)] -> a -> Bool

@param array $fs array of functions to combine
@param mixed $a value to test
@return \Closure test for or using provided functions
Logical Or Combinator