anchor.diff:          genericMetadataIsEnabled: resolver.genericMetadataIsEnabled,
         );
   
  -      invokeType = rawType.instantiate(inferrer.downwardsInfer());
  +      substitution = Substitution.fromPairs(
  +          rawType.typeFormals, inferrer.downwardsInfer());
       }
   
       List<EqualityInfo<PromotableElement, DartType>?>? identicalInfo =
  
positive.code:       DartType? parameterContextType;
        if (parameter != null) {
          var parameterType = parameter.type;
          parameterContextType = _computeContextForArgument(
              resolver, node, parameterType, contextType);
        }
  
negative.code:       }
        inferrer.constrainArguments(parameters: params, argumentTypes: argTypes);
        typeArgumentTypes = inferrer.upwardsInfer();
      }
      FunctionType? invokeType = typeArgumentTypes != null
          ? rawType?.instantiate(typeArgumentTypes)
          : rawType;
  
      var parameters = _storeResult(node, typeArgumentTypes, invokeType);
      if (parameters != null) {
  