anchor.diff:        // to be the return type of the combined member signature of said getter
         // in the direct superinterfaces.
         if (overriddenGetters.isNotEmpty && overriddenSetters.isEmpty) {
  -        var combinedGetter = inheritance.combineSignatures(
  -          targetClass: currentClassElement,
  -          candidates: overriddenGetters,
  -          doTopMerge: true,
  -          name: getterName,
  -        );
  -        if (combinedGetter != null) {
  -          var type = combinedGetter.returnType;
  -          type = nonNullifyType(typeSystem, type);
  -          parameter.type = type;
  -        }
  +        parameter.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 returnType = combinedSetter.parameters[0].type;
            returnType = nonNullifyType(typeSystem, returnType);
            accessor.returnType = returnType;
          }
        }
  
        return;
  
negative.code:         // 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) {
            field.type = combinedGetterType();
            return;
          }
  
  