anchor.diff:  	    {_S1, E1} = get_range(Lc),
   	    E11 = extend_backwards(Toks, E1,
   				   'end'),   %% S starts from 'fun', so there is no need to extend forwards/
  -	    refac_syntax:add_ann({range, {S, E11}}, Node);
  +	    update_ann(Node, {range, {S, E11}});
   	arity_qualifier ->
  -            calc_and_add_range_to_node(Node, arity_qualifier_body, arity_qualifier_argument);
  +                calc_and_add_range_to_node(Node, arity_qualifier_body, arity_qualifier_argument);
   	implicit_fun ->
                   adjust_implicit_fun_loc(Node, Toks);
           attribute ->
  
positive.code: 	    P1 = add_category(P, pattern),
  	    B1 = add_category(B, expression),
  	    Node1=rewrite(Node, refac_syntax:generator(P1, B1)),
  	    {refac_syntax:add_ann({category, generator}, Node1), true};
  	binary_generator ->
  	    P = refac_syntax:binary_generator_pattern(Node),
  	    B = refac_syntax:binary_generator_body(Node),
  	    P1 = add_category(P, pattern),
  	    B1 = add_category(B, expression),
  	    Node1=rewrite(Node, refac_syntax:binary_generator(P1, B1)),
  	    {refac_syntax:add_ann({category, generator}, Node1), true};
  	macro ->
  	    Name = refac_syntax:macro_name(Node),
  	    Args = refac_syntax:macro_arguments(Node),
  
negative.code: 	    case E2 > E1  %%Temporal fix; need to change refac_syntax to make the pos info correct.
  		of
  		true ->
  		    update_ann(Node, {range, {S1, E2}});
  		false ->
  		    update_ann(Node, {range, {S1, E1}})
  	    end;
  	match_expr ->
  	    calc_and_add_range_to_node(Node, match_expr_pattern, match_expr_body);
  