@Override
    public boolean isConvertibleFrom(@NotNull Exact other) {
      if (equals(other) || other instanceof Unresolved || other == EXACTLY_OBJECT) return true;
      if (other instanceof ArraySuperInterface) {
        if (classDef.isInterface()) return true;
        if (!classDef.isFinal()) return true;
        return classDef.isInheritor(((ArraySuperInterface)other).myReference);
      }
      if (other instanceof ExactClass exactClass) {
        return classDef.isConvertible(exactClass.classDef);
      }
      if (other instanceof ExactSubclass subclass) {
        for (Exact superClass : subclass.mySupers) {
          if (isConvertibleFrom(superClass)) return true;
        }
      }
      return false;
    }
@Override
    public boolean isConvertibleFrom(@NotNull Exact other)