protected static function checkEdgeItself(
        ParticleInterface $particle, 
        array $pack,
        string $name,
        ID $id,
        Direction $direction 
        ): bool
    {
        $direction = (string) $direction;
        $cargo = $pack[$direction];
        $edges = $particle->edges()->$direction();
        foreach($edges as $edge) {
            if(
                $edge->id()->equals($id) &&
                $edge instanceof $cargo->callable_edge_singularLabel_class_pairs[$name]
            ) {
                return true;
            }
        }
        return false;
    }
protected static function checkEdgeItself(
        ParticleInterface $particle, 
        array $pack,
        string $name,
        ID $id,
        Direction $direction 
        ): bool
    {
        $direction = (string) $direction;
        $cargo = $pack[$direction];
        $edges = $particle->edges()->$direction();
        foreach($edges as $edge) {
            if(
                $edge->id()->equals($id) &&
                $edge instanceof $cargo->callable_edge_singularLabel_class_pairs[$name]
            ) {
                return true;
            }
        }
        return false;
    }
protected static function checkEdgeItself ( ParticleInterface $ particle , array $ pack , string $ name , ID $ id , Direction $ direction ) : bool { $ direction = ( string ) $ direction ; $ cargo = $ pack [ $ direction ] ; $ edges = $ particle -> edges ( ) -> $ direction ( ) ; foreach ( $ edges as $ edge ) { if ( $ edge -> id ( ) -> equals ( $ id ) && $ edge instanceof $ cargo -> callable_edge_singularLabel_class_pairs [ $ name ] ) { return true ; } } return false ; }
"Has" Catcher for Edge Callables

@todo Check if it performs better with $edge->id()->equals($id) is first or last

@param ParticleInterface $particle The particle that this handler is associated with.
@param array  $pack Holds cargo variables extracted by loaders.
@param string $name The edge node label in plural.
@param ID $id The ID of the node in question.
@param Direction  $direction The direction of the edge adjacent nodes to look up.

@return bool whether the node exists or not
Has Catcher for Edge Callables