public static function instance(): Predicate
    {
        if (null === self::$instance) {
            self::$instance = new self();
        }

        return self::$instance;
    }
public static function instance(): Predicate
    {
        if (null === self::$instance) {
            self::$instance = new self();
        }

        return self::$instance;
    }
public static function instance ( ) : Predicate { if ( null === self :: $ instance ) { self :: $ instance = new self ( ) ; } return self :: $ instance ; }
returns reusable predicate instance

@return  \bovigo\assert\predicate\Predicate
returns reusable predicate instance