public static function compose(callable $predicate, callable $function) : callable
    {
        return function ($element) use ($predicate, $function) {
            return Predicates::call($predicate, Functions::call($function, $element));
        };
    }
public static function compose(callable $predicate, callable $function) : callable
    {
        return function ($element) use ($predicate, $function) {
            return Predicates::call($predicate, Functions::call($function, $element));
        };
    }
Returns true for $x if $predicate($function($x)) is true.

@param callable $predicate
@param callable $function
@return callable