anchor.diff:  	    try_expr ->
   		[try_expr_body(T), try_expr_clauses(T),
   		 try_expr_handlers(T), try_expr_after(T)];
  -            map ->
  -                [map_elements(T)];
  -            map_field_assoc ->
  -		    [map_field_elements(T)];
  -	    map_field_exact ->
  -		    [map_field_elements(T)];
  -	    tuple -> [tuple_elements(T)];
  +            tuple -> [tuple_elements(T)];
   	    type -> [];
               empty_node -> [];
   		_ ->[]  %% added by huiqing li to handle {wrapper, [] ...} which could be returned from Elisp.
  
positive.code: 		  S -> [list_prefix(T), [S]]
  		end;
  	    list_comp ->
  		[[list_comp_template(T)], list_comp_body(T)];
  	    macro ->
  		case macro_arguments(T) of
  		  none -> [[macro_name(T)]];
  		  As -> [[macro_name(T)], As]
  		end;
  	    match_expr ->
  		[[match_expr_pattern(T)], [match_expr_body(T)]];
  	    module_qualifier ->
  		[[module_qualifier_argument(T)],
  
negative.code:       {match, _, _, _} -> match_expr;
        {op, _, _, _, _} -> infix_expr;
        {op, _, _, _} -> prefix_expr;
        {map,_,_} -> map_expr;
        {map, _, _, _} -> map_expr;
        {map_field_assoc,_,_,_} -> map_field_assoc;
        {map_field_exact,_,_,_} -> map_field_exact;
        {'query', _, _} -> query_expr;
  