anchor.diff:           remainingNamedParameters = remainingNamedParameters.tail) {
         Element parameter = remainingNamedParameters.head;
         int foundIndex = -1;
  -      for (int i = 0; i < this.namedArguments.length; i++) {
  -        SourceString name = this.namedArguments[i];
  +      for (int i = 0; i < namedArguments.length; i++) {
  +        SourceString name = namedArguments[i];
           if (name == parameter.name) {
             foundIndex = i;
             break;
           }
         }
         if (foundIndex != -1) {
  -        list.add(namedArguments[foundIndex]);
  +        list.add(compiledNamedArguments[foundIndex]);
         } else {
           list.add(compileConstant(parameter)); 
         }
  
positive.code:     //   get foo() => () => 42;
      //   bar() => foo(); // The call to 'foo' is a typed selector.
      // }
      if (element.enclosingElement.superclass === compiler.closureClass) {
        return super.applies(element, compiler);
      }
  
      ClassElement other = element.enclosingElement;
      ClassElement self = receiverType.element;
  
      // If the class of the element is a subclass of this selector's
      // class, it is a candidate.
      if (other.isSubclassOf(self)) {
        return super.applies(element, compiler);
      }
  
negative.code:     }
  
      // Visit named arguments and add them into a temporary list.
      List compiledNamedArguments = [];
      for (; !arguments.isEmpty(); arguments = arguments.tail) {
        NamedArgument namedArgument = arguments.head;
        compiledNamedArguments.add(compileArgument(namedArgument.expression));
      }
  
      Link<Element> remainingNamedParameters = parameters.optionalParameters;
  