anchor.diff:  
   import 'package:kernel/ast.dart'
       show
  +        Class,
           DartType,
           DynamicType,
           FunctionType,
           InterfaceType,
  +        Member,
  +        Name,
           NamedType,
           Procedure,
           TypeParameter,
  
positive.code:     //   and `F` is a subtype match for a type `Q` with respect to `L` under
      //   constraints `C`.
      if (subtype is InterfaceType) {
        var callMember =
            environment.hierarchy.getInterfaceMember(subtype.classNode, callName);
        if (callMember is Procedure && !callMember.isGetter) {
          var callType = callMember.getterType;
          if (callType != null) {
  
negative.code: 
      // Handle FutureOr<T> union type.
      if (subtype is InterfaceType &&
          identical(subtype.classNode, futureOrClass)) {
        var subtypeArg = subtype.typeArguments[0];
        if (supertype is InterfaceType &&
            identical(supertype.classNode, futureOrClass)) {
          // `FutureOr<P>` is a subtype match for `FutureOr<Q>` with respect to
          // `L` under constraints `C`:
          // - If `P` is a subtype match for `Q` with respect to `L` under
  