anchor.diff:        if (selector.argumentCount == 1) {
           // The following operators do not map to a JavaScript
           // operator.
  -        if (name != '~/' && name != '<<' && name != '%' && name != '>>') {
  -          jsAst.Expression result = js('receiver').binary(name, js('a0'));
  -          if (name == '&' || name == '|' || name == '^') {
  -            result = tripleShiftZero(result);
  -          }
  -          // Unfolds to:
  -          // [: if (typeof receiver == "number" && typeof a0 == "number")
  -          //      return receiver op a0;
  -          // :].
  -          return js.if_(
  -              isNumber('receiver').binary('&&', isNumber('a0')),
  -              js.return_(result));
  +        if (name == '~/' || name != '<<' || name != '%' || name != '>>') {
  +          return null;
           }
  +        jsAst.Expression result = js('receiver').binary(name, js('a0'));
  +        if (name == '&' || name == '|' || name == '^') {
  +          result = tripleShiftZero(result);
  +        }
  +        // Unfolds to:
  +        //    if (typeof receiver == "number" && typeof a0 == "number")
  +        //      return receiver op a0;
  +        return js.if_(
  +            isNumber('receiver').binary('&&', isNumber('a0')),
  +            js.return_(result));
         } else if (name == 'unary-') {
  -        // operator~ does not map to a JavaScript operator.
  -        // Unfolds to:
  -        // [: if (typeof receiver == "number") return -receiver:].
  +        // [: if (typeof receiver == "number") return -receiver :].
           return js.if_(isNumber('receiver'),
                         js.return_(js('-receiver')));
         } else {
  
positive.code:     } else if (selector.isIndex() || selector.isIndexSet()) {
        // For an index operation, this code generates:
        //
        // [: if (receiver.constructor == Array || typeof receiver == "string") {
        //      if (a0 >>> 0 === a0 && a0 < receiver.length) {
        //        return receiver[a0];
        //      }
        //    }
        // :]
        //
        // For an index set operation, this code generates:
        //
        // [: if (receiver.constructor == Array && !receiver.immutable$list) {
        //      if (a0 >>> 0 === a0 && a0 < receiver.length) {
        //        return receiver[a0] = a1;
        //      }
        //    }
        // :]
        bool containsArray = classes.contains(backend.jsArrayClass);
        bool containsString = classes.contains(backend.jsStringClass);
        // The index set operator requires a check on its set value in
  
negative.code: 
        List<jsAst.Statement> body = <jsAst.Statement>[];
        jsAst.Statement optimizedPath =
            fastPathForOneShotInterceptor(selector, classes);
        if (optimizedPath != null) {
          body.add(optimizedPath);
        }
  