anchor.diff:  %% @doc Reset all the annotations in the subtree to the default (empty) annotation.
   
   %%-spec(reset_attrs(Node::syntaxTree()) -> syntaxTree()).
  +reset_attrs(Node) when is_list(Node) ->
  +    [reset_attrs(N)||N<-Node];
   reset_attrs(Node) ->
  -    ast_traverse_api:full_buTP(fun (T, _Others) -> 
  -				       T1=refac_syntax:set_ann(T, []),
  -				       refac_syntax:remove_comments(T1)
  -			       end, Node, {}).
  +    ast_traverse_api:full_buTP(
  +      fun (T, _Others) -> 
  +              T1=refac_syntax:set_ann(
  +                   refac_syntax:set_pos(T, {0,0}), []),
  +              refac_syntax:remove_comments(T1)
  +      end, Node, {}).
  +
   
   %% =====================================================================
   %% @doc Return the environment variables of an AST node.
  
positive.code:       	 {V, _} -> 
  	     concat_toks(Ts, [V|Acc])
       end.
  
  
  
  get_start_end_loc_with_comment(Node) when Node==[] ->
      {{0,0},{0,0}};
  get_start_end_loc_with_comment(Node) when is_list(Node) ->
      {Start, _} = get_start_end_loc_with_comment(hd(Node)),
      {_, End} = get_start_end_loc_with_comment(lists:last(Node)),
      {Start, End};
  get_start_end_loc_with_comment(Node) ->
      {Start={_StartLn, StartCol}, End} = refac_prettypr:get_start_end_loc(Node),
      PreCs = refac_syntax:get_precomments(Node),
      PostCs = refac_syntax:get_postcomments(Node),
      Start1 = case PreCs of
                   [] -> 
                       Start;
                   _ ->
                       {StartLn1, StartCol1}=refac_syntax:get_pos(hd(PreCs)),
                       {StartLn1, erlang:max(StartCol, StartCol1)}
               end,
      End1 = case PostCs of
                 [] ->
                     End;
                 _ ->
                     LastC = refac_syntax:comment_text(lists:last(PostCs)),
                     {L, C}=refac_syntax:get_pos(lists:last(PostCs)),
                     {L, C+length(LastC)-1}
             end,
      {Start1, End1}.
  
negative.code: rewrite(Tree, Tree1) ->
      refac_syntax:copy_attrs(Tree, Tree1).
  
  rewrite_with_wrapper(Tree, Tree1)->
      {Start, End} = get_start_end_loc_with_comment(Tree),
      refac_syntax:set_pos(
        refac_util:update_ann(
          refac_syntax:tree(fake_parentheses, Tree1), 
          {range, {Start, End}}),
        Start).
  
  max(X,Y) when X>Y ->
       X;
  