anchor.diff:  	{error, Reason} -> erlang:error(Reason)
       end.
   
  -
  +process_module_info(Info1, Info2) ->
  +    ModInfo = merge_module_info(Info1, Info2),
  +    update_module_info(ModInfo).
  +                           
   merge_module_info(Info1, Info2) ->
       Info = lists:usort(Info1 ++ Info2),
       F = fun(Attr) ->
  
positive.code: 
  
  %% =====================================================================
  % @doc Attach syntax category information to AST nodes of functions.
  %% =====================================================================
  %% -type (category():: pattern|expression|guard_expression|record_type|record_field|
  %%                     generator|{macro_name, none|int()|pattern|expression}|macro_arg|
  %%                     operator|name|arity|binary_field).
  %%-spec(add_category(Node::syntaxTree()) -> syntaxTree()).
  add_category(Node) ->
      add_category(Node, none).
  
  
negative.code:                         none -> none;
                          _ ->add_category(Size, C)
                      end,
              Node1 = rewrite(Node, refac_syntax:binary_field(Body1, Size1, Types)),
              {update_category_ann(Node1, 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),
  	   Node1 = rewrite(Node, refac_syntax:record_access(Argument1, Type, Field)),
  	   {update_category_ann(Node1, C), true};
  	record_expr ->
  	    Argument = refac_syntax:record_expr_argument(Node),
  	    Type = refac_syntax:record_expr_type(Node),
  