anchor.diff:  
     InterfaceTypeImpl futureOrTypeStar({@required DartType argument}) {
       var element = typeProvider.futureOrElement;
  -    return _interfaceType(
  +    return interfaceType(
         element,
         typeArguments: <DartType>[argument],
         nullabilitySuffix: NullabilitySuffix.star,
  
positive.code:       .withNullability(NullabilitySuffix.star);
  
    InterfaceTypeImpl get stringClassTypeNone {
      return _interfaceType(
        typeProvider.stringType.element,
        nullabilitySuffix: NullabilitySuffix.none,
      );
    }
  
    InterfaceTypeImpl get stringClassTypeQuestion {
      return _interfaceType(
        typeProvider.stringType.element,
        nullabilitySuffix: NullabilitySuffix.question,
      );
    }
  
    InterfaceTypeImpl get stringClassTypeStar {
      return _interfaceType(
        typeProvider.stringType.element,
        nullabilitySuffix: NullabilitySuffix.star,
      );
  
negative.code:     //
      // In other words, S <: List<T> is satisfied provided that
      // bound(S) <: List<T>.
      var S = typeParameterTypeStar(typeParameter(
        'S',
        bound: listType(stringType),
      ));
      _checkIsSubtypeMatchOf(S, listType(T), [T], ['String <: T'],
          covariant: false);
    }
  