anchor.diff:    DartType promotedBound;
   
     TypeParameterType(this.parameter,
  -      [this.promotedBound, Nullability nullability])
  +      [this.promotedBound, this.declaredNullability])
         : this.nullability =
  -            getNullability(parameter, promotedBound, nullability);
  +            getNullability(parameter, promotedBound, declaredNullability);
   
     accept(DartTypeVisitor v) => v.visitTypeParameterType(this);
     accept1(DartTypeVisitor1 v, arg) => v.visitTypeParameterType(this, arg);
  
positive.code:   /// [TypeParameterType] to compute the value of
    /// [TypeParameterType.nullability] from the arguments passed to the constructor.
    static Nullability getNullability(TypeParameter parameter,
        DartType promotedBound, Nullability nullability) {
      // If promotedBound is null, getNullability returns the nullability of
      // either T or T? where T is parameter and the presence of '?' is determined
      // by nullability.
  
negative.code:     // If the nullability is explicitly nullable, that is, if the type parameter
      // type is followed by '?' in the code, the nullability of the type is
      // 'nullable.'
      if (declaredNullability == Nullability.nullable) {
        lhsNullability = Nullability.nullable;
      } else {
        // If the bound is nullable, both nullable and non-nullable types can be
  