anchor.diff:        classBuilder.library.loader == hierarchy.loader;
   
     ClassMember checkInheritanceConflict(ClassMember a, ClassMember b) {
  +    hierarchy.inheritanceConflictCache[a] ??= new Map.identity();
  +    if (hierarchy.inheritanceConflictCache[a].containsKey(b)) {
  +      return hierarchy.inheritanceConflictCache[a][b];
  +    }
  +
       if (a.hasDeclarations) {
         ClassMember result;
         for (int i = 0; i < a.declarations.length; i++) {
           ClassMember d = checkInheritanceConflict(a.declarations[i], b);
           result ??= d;
         }
  +      hierarchy.inheritanceConflictCache[a][b] = result;
         return result;
       }
       if (b.hasDeclarations) {
  
positive.code:     substitutions.clear();
      _overrideChecks.clear();
      _delayedTypeComputations.clear();
    }
  
    void registerDelayedTypeComputation(DelayedTypeComputation computation) {
  
negative.code:         ClassMember d = checkInheritanceConflict(a, b.declarations[i]);
          result ??= d;
        }
        hierarchy.inheritanceConflictCache[a][b] = result;
        return result;
      }
      if (isInheritanceConflict(a, b)) {
        reportInheritanceConflict(a, b);
        hierarchy.inheritanceConflictCache[a][b] = a;
        return a;
      }
      hierarchy.inheritanceConflictCache[a][b] = null;
      return null;
    }
  
  