anchor.diff:    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 open_bracket close_bracket
  +  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
  -  container_args_base call_args_parens_base call_args_parens parens_call
  +  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 call_args_no_parens_kw_expr call_args_no_parens_kw
  +  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
  
positive.code: 
  % Lists
  
  list -> open_bracket ']' : build_list('$1', []).
  list -> open_bracket kw_base close_bracket : build_list('$1', reverse('$2')).
  list -> open_bracket container_args_base close_bracket : build_list('$1', reverse('$2')).
  list -> open_bracket container_args_base ',' kw_base close_bracket : build_list('$1', reverse('$2', reverse('$4'))).
  
  % Tuple
  
  tuple -> open_curly '}' : build_tuple('$1', []).
  tuple -> open_curly kw_base close_curly :  build_tuple('$1', [reverse('$2')]).
  tuple -> open_curly container_args_base close_curly : build_tuple('$1', reverse('$2')).
  tuple -> open_curly container_args_base ',' kw_base close_curly : build_tuple('$1', reverse([reverse('$4')|'$2'])).
  
  % Bitstrings
  
  bit_string -> open_bit '>>' : build_bit('$1', []).
  bit_string -> open_bit kw_base close_bit : build_bit('$1', [reverse('$2')]).
  bit_string -> open_bit container_args_base close_bit : build_bit('$1', reverse('$2')).
  bit_string -> open_bit container_args_base ',' kw_base close_bit : build_bit('$1', reverse([reverse('$4')|'$2'])).
  
  % Map and structs
  
  
negative.code: open_bracket  -> '[' eol     : '$1'.
  close_bracket -> ']'         : '$1'.
  close_bracket -> eol ']'     : '$2'.
  
  open_bit  -> '<<'         : '$1'.
  open_bit  -> '<<' eol     : '$1'.
  close_bit -> '>>'         : '$1'.
  close_bit -> eol '>>'     : '$2'.
  
  open_curly  -> '{'     : '$1'.
  open_curly  -> '{' eol : '$1'.
  close_curly -> '}'         : '$1'.
  close_curly -> eol '}'     : '$2'.
  
  % Operators
  
  