anchor.diff:  		 end,
   	    Node1 =rewrite(Node, refac_syntax:clause(P1, G1, Body1)),
   	    {Node1, true};
  -	application ->
  -	    Op = refac_syntax:application_operator(Node),
  -	    Args = refac_syntax:application_arguments(Node),
  -	    Op1 = add_category(Op, C),
  -	    Op2 = update_ann(Op1, {category, application_op}),
  -	    Args1 = add_category(Args, C),
  -	    Node1 = rewrite(Node, refac_syntax:application(Op2, Args1)),
  -	    {update_ann(Node1, {category, C}), true};
   	match_expr ->
   	    P = refac_syntax:match_expr_pattern(Node),
   	    B = refac_syntax:match_expr_body(Node),
  
positive.code: 	    Node1 = rewrite(Node, refac_syntax:macro(Name1, Args1)),
  	    {update_ann(Node1, {category, C}), true};
  	record_access ->
  	   Argument = refac_syntax:record_access_argument(Node),
  	   Type = refac_syntax:record_access_type(Node),
  	   Field = refac_syntax:record_access_field(Node),
  	   Argument1 = add_category(Argument, C),
  	   Type1 = case Type of
  		       none -> none;
  		       _ -> add_category(Type, record_type)
  		   end,
  	   Field1 = add_category(Field, record_field),
  	   Node1 = rewrite(Node, refac_syntax:record_access(Argument1, Type1, Field1)),
  	   {update_ann(Node1, {category, C}), true};
  	record_expr ->
  	    Argument = refac_syntax:record_expr_argument(Node),
  	    Type = refac_syntax:record_expr_type(Node),
  
negative.code: 	macro ->
  	    Name = refac_syntax:macro_name(Node),
  	    Args = refac_syntax:macro_arguments(Node),
              Name1 = case Args of 
                          none -> add_category(Name, C);  %% macro with no args are not annoated as macro_name.
                          _ ->add_category(Name, macro_name)
                      end,
  	    Args1 = case Args of
  			none -> none;
  			_ -> add_category(Args, C) 
  