code: public static function isEqualType(Type $typeA, Type $typeB)
      {
          // Equivalent types are equal.
          if ($typeA === $typeB) {
              return true;
          }
  
          // If either type is non-null, the other must also be non-null.
          if ($typeA instanceof NonNull && $typeB instanceof NonNull) {
              return self::isEqualType($typeA->getWrappedType(), $typeB->getWrappedType());
          }
  
          // If either type is a list, the other must also be a list.
          if ($typeA instanceof ListOfType && $typeB instanceof ListOfType) {
              return self::isEqualType($typeA->getWrappedType(), $typeB->getWrappedType());
          }
  
          // Otherwise the types are not equal.
          return false;
      }
docs: Provided two types, return true if the types are equal (invariant).
  
  @return bool