anchor.diff:  
     }
   
  +  ParsedFn call(String text) {
  +    return Parser.parse(text);
  +  }
  +
     static ParsedFn parse(text) {
       List<Token> tokens = Parser.lex(text);
       Token token;
  
positive.code:   ParsedAssignFn assignFn;
  
    ParsedFn(this.getter, [this.assignFn]);
    call(s, l) => getter(s, l);
    assign(s, v, l) => assignFn(s, v, l);
  
    get assignable => assignFn != null;
  }
  
negative.code:   return currentValue;
  }
  
  setter(obj, path, setValue) {
    var element = path.split('.');
    for (var i = 0; element.length > 1; i++) {
      var key = element.removeAt(0);
  