anchor.diff:  
       errorMessages
           .addAll(_checkTypeParameters(function.typeFormals, enclosingElement));
  -    errorMessages
  -        .addAll(_checkTypeArguments(function.typeArguments, enclosingElement));
  +
  +    var aliasArguments = function.aliasArguments;
  +    if (aliasArguments != null) {
  +      errorMessages
  +          .addAll(_checkTypeArguments(aliasArguments, enclosingElement));
  +    }
   
       return errorMessages;
     }
  
positive.code:         });
        }
        return TypeReference((b) {
          Element typedef;
          if (element is FunctionTypeAliasElement) {
            typedef = element;
          } else {
            typedef = element.enclosingElement as FunctionTypeAliasElement;
          }
  
          b
            ..symbol = typedef.name
            ..url = _typeImport(typedef)
            ..isNullable = forceNullable || typeSystem.isNullable(type);
          for (var typeArgument in type.typeArguments) {
            b.types.add(_typeReference(typeArgument));
          }
        });
  
negative.code:           ..types.addAll(type.typeArguments.map(_typeReference));
        });
      } else if (type is analyzer.FunctionType) {
        var element = type.aliasElement;
        if (element == null) {
          // [type] represents a FunctionTypedFormalParameter.
          return FunctionType((b) {
  