anchor.diff:          setValue(node.parameters[0],
                    nonConstant(typeSystem.getReceiverType(node.element)));
         } else {
  -        setValue(node.thisParameter, 
  +        setValue(node.thisParameter,
                 nonConstant(typeSystem.getReceiverType(node.element)));
           setValue(node.parameters[0], nonConstant());
         }
  
positive.code:   bool methodUsesReceiverArgument(FunctionElement function) {
      assert(backend.isInterceptedMethod(function));
      ClassElement clazz = function.enclosingClass.declaration;
      return clazz.isSubclassOf(backend.jsInterceptorClass) || 
             classWorld.isUsedAsMixin(clazz);
    }
  
  
negative.code:   void visitBranch(Branch node) {
      IsTrue isTrue = node.condition;
      AbstractValue conditionCell = getValue(isTrue.value.definition);
      AbstractBool boolifiedValue = lattice.boolify(conditionCell);
      switch (boolifiedValue) {
        case AbstractBool.Nothing:
          break;
        case AbstractBool.True:
          setReachable(node.trueContinuation.definition);
          break;
        case AbstractBool.False:
          setReachable(node.falseContinuation.definition);
          break;
        case AbstractBool.Maybe:
          setReachable(node.trueContinuation.definition);
          setReachable(node.falseContinuation.definition);
          break;
      }
    }
  
  