anchor.diff:  
   throw_unpaired_map(Marker) ->
     throw(?line(token_meta(Marker)), "unpaired values in map", token_symbol(Marker)).
  +
  +throw_invalid_bitstring_element(Token) ->
  +  throw(?line(token_meta(Token)), "invalid bitstring element", token_symbol(Token)).
  
positive.code:     grammar
      expression expression_list expressions
      number signed_number atom_expr
      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
  
negative.code: build_dot(Dot, {dot, _, _} = Left, Right) ->
    {dot, token_meta(Dot), {dot_fullname(Left), token_symbol(Right)}}.
  
  build_bitstring_element(Token) ->
    Symbol = token_symbol(Token),
    E = case is_integer(Symbol) of
          true -> Symbol;
          false -> throw_invalid_bitstring_element(Token)
        end,
    {list, token_meta(Token), [E]}.
  
  build_bitstring(Marker, Args) ->
    {bitstring, token_meta(Marker), Args}.
  
  