anchor.diff:        _namer.instanceFieldPropertyName(functionField),
         _namer.invocationName(targetSelector),
         arguments,
  -    ]);
  +    ]) as jsAst.Fun;
       // TODO(sra): .withSourceInformation(sourceInformation);
   
       jsAst.Name name = _namer.invocationName(callSelector);
  
positive.code:     // with filled-in type arguments.
  
      if (callSelectors != null) {
        Set<ParameterStructure> parameterStructures;
        for (Selector selector in callSelectors.keys) {
          CallStructure callStructure = selector.callStructure;
          if (callStructure.typeArgumentCount != 0) continue;
  
negative.code:     assert(typeArgumentCount > 0);
  
      // 2. Find the function field access path.
      late FieldEntity functionField;
      _elementEnvironment.forEachInstanceField(instantiationClass,
          (ClassEntity enclosing, FieldEntity field) {
        if (_closedWorld.fieldAnalysis.getFieldData(field as JField).isElided)
          return;
        if (field.name == '_genericClosure') functionField = field;
      });
  
      String call = _namer.closureInvocationSelectorName;
      Map<Selector, SelectorConstraints>? callSelectors =
          _codegenWorld.invocationsByName(call);
  
      Set<ParameterStructure> computeLiveParameterStructures() {
  