anchor.diff:          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;
     }
   
  
positive.code:       classBuilder.library.loader == hierarchy.loader;
  
    ClassMember checkInheritanceConflict(ClassMember a, ClassMember b) {
      if (a.hasDeclarations) {
        ClassMember result;
        for (int i = 0; i < a.declarations.length; i++) {
          ClassMember d = checkInheritanceConflict(a.declarations[i], b);
          result ??= d;
        }
        return result;
      }
      if (b.hasDeclarations) {
  
negative.code: 
    Types types;
  
    Map<ClassMember, Map<ClassMember, ClassMember>> inheritanceConflictCache =
        new Map.identity();
  
    ClassHierarchyBuilder(this.objectClassBuilder, this.loader, this.coreTypes)
        : objectClass = objectClassBuilder.cls,
          futureClass = coreTypes.futureClass,
  