anchor.diff:  '*' '/' 'div' 'rem' 'band' 'and'
   '+' '-' 'bor' 'bxor' 'bsl' 'bsr' 'or' 'xor'
   '++' '--'
  -'==' '/=' '=<' '<' '>=' '>' '=:=' '=/=' '<=' '=>'
  +'==' '/=' '=<' '<' '>=' '>' '=:=' '=/=' '<=' '=>' ':='
   '<<' '>>'
   '!' '=' '::' '..' '...'
   'spec' 'callback' % helper
  
positive.code: map_fields -> map_field : ['$1'].
  map_fields -> map_field ',' map_fields : ['$1' | '$3'].
  
  map_field -> map_key '=>' expr :
  	{map_field,?line('$1'),'$1','$3'}.
  
  map_key -> expr : '$1'.
  
  
negative.code: tuple
  %struct
  record_expr record_tuple record_field record_fields
  map_expr map_tuple map_field map_field_assoc map_field_exact map_fields map_key
  if_expr if_clause if_clauses case_expr cr_clause cr_clauses receive_expr
  fun_expr fun_clause fun_clauses atom_or_var integer_or_var
  try_expr try_catch try_clause try_clauses
  