anchor.diff:          // and a getter is inferred to be the return type of the combined
           // member signature of said getter in the direct superinterfaces.
           if (field.isFinal) {
  -          var combinedGetter = inheritance.combineSignatures(
  -            targetClass: currentClassElement,
  -            candidates: overriddenGetters,
  -            doTopMerge: true,
  -            name: getterName,
  -          );
  -          if (combinedGetter != null) {
  -            var type = combinedGetter.returnType;
  -            type = nonNullifyType(typeSystem, type);
  -            field.type = type;
  -          }
  +          field.type = combinedGetterType();
             return;
           }
   
  
positive.code:       // to be the parameter type of the combined member signature of said
        // setter in the direct superinterfaces.
        if (overriddenGetters.isEmpty && overriddenSetters.isNotEmpty) {
          var combinedSetter = inheritance.combineSignatures(
            targetClass: currentClassElement,
            candidates: overriddenSetters,
            doTopMerge: true,
            name: setterName,
          );
          if (combinedSetter != null) {
            var type = combinedSetter.parameters[0].type;
            type = nonNullifyType(typeSystem, type);
            field.type = type;
          }
          return;
        }
  
  
negative.code:     );
      overriddenSetters ??= const [];
  
      DartType combinedGetterType() {
        var combinedGetter = inheritance.combineSignatures(
          targetClass: currentClassElement,
          candidates: overriddenGetters,
          doTopMerge: true,
          name: getterName,
        );
        if (combinedGetter != null) {
          var returnType = combinedGetter.returnType;
          return nonNullifyType(typeSystem, returnType);
        }
        return DynamicTypeImpl.instance;
      }
  
      DartType combinedSetterType() {
        var combinedSetter = inheritance.combineSignatures(
          targetClass: currentClassElement,
          candidates: overriddenSetters,
          doTopMerge: true,
          name: setterName,
        );
        if (combinedSetter != null) {
          var type = combinedSetter.parameters[0].type;
          return nonNullifyType(typeSystem, type);
        }
        return DynamicTypeImpl.instance;
      }
  
      if (accessor != null && accessor.isGetter) {
        if (!accessor.hasImplicitReturnType) {
          return;
  