anchor.diff:    Primitive get value => valueRef.definition;
   
     ReifyRuntimeType(Primitive value, this.sourceInformation)
  -    : this.valueRef = new Reference<Primitive>(value);
  +      : this.valueRef = new Reference<Primitive>(value);
   
     @override
     accept(Visitor visitor) => visitor.visitReifyRuntimeType(this);
  
positive.code: 
    Definition visitInvokeMethodDirectly(InvokeMethodDirectly node) {
      return new InvokeMethodDirectly(getCopy(node.receiverRef), node.target,
          node.selector,
          getList(node.argumentRefs),
          node.sourceInformation,
          callingConvention: node.callingConvention);
    }
  
    Definition visitInvokeConstructor(InvokeConstructor node) {
      return new InvokeConstructor(node.dartType, node.target, node.selector,
          getList(node.argumentRefs),
          node.sourceInformation)
          ..allocationSiteType = node.allocationSiteType;
    }
  
    Definition visitTypeCast(TypeCast node) {
      return new TypeCast(getCopy(node.valueRef), node.dartType,
          getList(node.typeArgumentRefs));
    }
  
    Definition visitSetMutable(SetMutable node) {
  
negative.code:   ///
    ///     if (condition) value.selectorName();
    ///
    ReceiverCheck.generalCheck(Primitive value, Selector selector,
        SourceInformation sourceInformation, Primitive condition)
        : this(value, selector, sourceInformation,
              condition: condition, useSelector: true, isNullCheck: false);
  
    bool get isSafeForElimination => false;
    bool get isSafeForReordering => false;
  