anchor.diff:    var cache = new Map<dynamic, Parser>();
     
     set parser(p) {
  -    print(p);
       _parser = p;
       isNullable_called = false;
       isNullable_value = false;
  
positive.code:     if (this.token == token){
        r = new Null(new MySet.from([token]));
      }
      print('($token) => $this: $r');
      return r;
    }
  }
  
negative.code:   bool get empty => this.first.empty || this.second.empty;
  
    Parser derive(token){
      var r;
      if (this.first.nullable){
        var left = new And(this.first.derive(token), this.second);
  