anchor.diff:  
   kw_base -> kw_eol container_expr : [{ ?exprs('$1'), '$2' }].
   kw_base -> kw_base ',' kw_eol container_expr : [{ ?exprs('$3'), '$4' }|'$1'].
  +
  +kw -> kw_base : reverse('$1').
  +kw -> kw_base ',' : reverse('$1').
   
   call_args_no_parens_kw_expr -> kw_eol call_args_no_parens_expr : { ?exprs('$1'),'$2' }.
   call_args_no_parens_kw -> call_args_no_parens_kw_expr : ['$1'].
  
positive.code: open_bracket  -> '[' eol     : '$1'.
  close_bracket -> ']'         : '$1'.
  close_bracket -> eol ']'     : '$2'.
  close_bracket -> ',' ']'     : '$2'.
  
  open_bit  -> '<<'         : '$1'.
  open_bit  -> '<<' eol     : '$1'.
  close_bit -> '>>'         : '$1'.
  close_bit -> eol '>>'     : '$2'.
  close_bit -> ',' '>>'     : '$2'.
  
  open_curly  -> '{'     : '$1'.
  open_curly  -> '{' eol : '$1'.
  close_curly -> '}'         : '$1'.
  close_curly -> eol '}'     : '$2'.
  close_curly -> ',' '}'     : '$2'.
  
  % Operators
  
  
negative.code:   add_op_eol mult_op_eol exp_op_eol two_op_eol pipe_op_eol stab_op_eol
    arrow_op_eol match_op_eol when_op_eol in_op_eol in_match_op_eol
    open_paren close_paren empty_paren
    list list_args open_bracket close_bracket
    tuple open_curly close_curly
    bit_string open_bit close_bit
    map map_op map_close map_args struct_op struct_expr
    assoc_op_eol assoc_expr assoc_base assoc_update assoc_update_kw assoc
    container_args_base container_args call_args_parens_base call_args_parens parens_call
    call_args_no_parens_one call_args_no_parens_expr call_args_no_parens_comma_expr
    call_args_no_parens_all call_args_no_parens_many call_args_no_parens_many_strict
    stab stab_eol stab_expr stab_maybe_expr stab_parens_many
    kw_eol kw_base kw call_args_no_parens_kw_expr call_args_no_parens_kw
    dot_op dot_alias dot_identifier dot_op_identifier dot_do_identifier
    dot_paren_identifier dot_bracket_identifier
    do_block fn_eol do_eol end_eol block_eol block_item block_list
  