anchor.diff:  equality:
       expr EQUAL expr;
   
  -expr: '{'? WS*? additive WS*? '}'?;
  +expr: '{'? additive '}'?;
   
   additive:
       additive (ADD | SUB) additive
  
positive.code:     expr (CARET L_BRACE (ADD | SUB) R_BRACE)?
      R_BRACE;
  
  func_arg: expr | (expr WS*? ',' WS*? func_arg);
  func_arg_noparens: mp_nofunc;
  
  subexpr: UNDERSCORE (atom | L_BRACE expr R_BRACE);
  
negative.code:     mp
      | FUNC_LIM limit_sub mp;
  
  args: (expr ',' args) | expr;
  
  limit_sub:
      UNDERSCORE L_BRACE
  