anchor.diff:    }
   
     _makeSimpleRead() => readTarget == null
  -      ? new InvalidExpression()
  +      ? makeInvalidRead()
         : new SuperMethodInvocation(
             readTarget, new Arguments(<Expression>[index]));
   
     _makeSimpleWrite(Expression value, bool voidContext) {
       return writeTarget == null
  -        ? wrapInvalid(value)
  +        ? makeInvalidWrite(value)
           : new SuperMethodInvocation(
               writeTarget, new Arguments(<Expression>[index, value]));
     }
   
     _makeRead() {
       return readTarget == null
  -        ? new InvalidExpression()
  +        ? makeInvalidRead()
           : new SuperMethodInvocation(
               readTarget, new Arguments(<Expression>[indexAccess()]));
     }
   
     _makeWrite(Expression value, bool voidContext) {
       return writeTarget == null
  -        ? wrapInvalid(value)
  +        ? makeInvalidWrite(value)
           : new SuperMethodInvocation(
               writeTarget, new Arguments(<Expression>[indexAccess(), value]));
     }
  
positive.code:   StaticAccessor(this.readTarget, this.writeTarget);
  
    _makeRead() =>
        readTarget == null ? new InvalidExpression() : new StaticGet(readTarget);
  
    _makeWrite(Expression value, bool voidContext) {
      return writeTarget == null
          ? wrapInvalid(value)
          : new StaticSet(writeTarget, value);
    }
  }
  
negative.code:     return new VariableGet(value);
    }
  
    _makeWrite(Expression value, bool voidContext) => makeInvalidWrite(value);
  
    Expression _finish(Expression body) => makeLet(value, body);
  }
  