final private function isSameObjectAs(Type $type, int $flags = null): bool
    {
        if ($flags & TypeEquality::IGNORE_OBJECT_IDENTITY) {
            return true;
        }

        return (spl_object_hash($this) === spl_object_hash($type)) ? true : false;
    }