anchor.diff:  
       var body = <JS.Statement>[];
       for (var param in parameters.parameters) {
  -      var jsParam = _emitSimpleIdentifier(param.identifier, allowType: false);
  -
  -      if (param.kind == ParameterKind.NAMED) {
  -        if (!options.destructureNamedParams) {
  +      var jsParam = visitSimpleIdentifier(param.identifier);
  +
  +      if (!options.destructureNamedParams) {
  +        if (param.kind == ParameterKind.NAMED) {
             // Parameters will be passed using their real names, not the (possibly
             // renamed) local variable.
             var paramName = js.string(param.identifier.name, "'");
  
positive.code:       }
      }
  
      return annotate(
          new JS.Identifier(name,
              type: allowType ? emitTypeRef(node.bestType) : null),
          node);
    }
  
    JS.TemporaryId _getTemp(Element key, String name) =>
  
negative.code:     ]);
    }
  
    /// Writes a simple identifier. This can handle implicit `this` as well as
    /// going through the qualified library name if necessary.
    @override
    JS.Expression visitSimpleIdentifier(SimpleIdentifier node) {
      var accessor = node.staticElement;
      if (accessor == null) {
        return js.commentExpression(
  