anchor.diff:  
   %% Bitstring
   
  -bitstring_arg_list  -> bitstring_arg_list list_container : ['$2' | '$1'].
  +bitstring_arg        -> number : build_bitstring_element('$1').
  +bitstring_arg        -> list_container : '$1'.
  +commas_bitstring_arg -> bitstring_arg  : '$1'.
  +commas_bitstring_arg -> ',' bitstring_arg  : '$2'.
  +bitstring_arg_list   -> bitstring_arg : ['$1'].
  +bitstring_arg_list   -> bitstring_arg_list commas_bitstring_arg : ['$2' | '$1'].
   
   bitstring_args      -> bitstring_arg_list : lists:reverse('$1').
  -bitstring_args      -> values : '$1'.
   
   bitstring_container -> '<<' '>>' : build_bitstring('$1', []).
   bitstring_container -> '<<' bitstring_args '>>' : build_bitstring('$1', '$2').
  
positive.code: 
  throw_unpaired_map(Marker) ->
    throw(?line(token_meta(Marker)), "unpaired values in map", token_symbol(Marker)).
  
negative.code:     grammar
      expression expression_list expressions
      number signed_number atom_expr
      bitstring_arg commas_bitstring_arg bitstring_arg_list bitstring_args bitstring_container
      quote_expr backquote_expr unquote_expr unquote_splicing_expr
      value comma_value value_list values
      open_paren close_paren open_bracket close_bracket list_container cons_list
  