anchor.diff:  		    refac_syntax:add_ann({range, {S1, E21}}, Node)
   	    end;
   	record_access ->
  -	    Arg = refac_syntax:record_access_argument(Node),
  -	    Field = refac_syntax:record_access_field(Node),
  -	    {S1, _E1} = get_range(Arg),
  -	    {_S2, E2} = get_range(Field),
  -	    refac_syntax:add_ann({range, {S1, E2}}, Node);
  +	    calc_and_add_range_to_node(Node, record_access_argument, record_access_field);
   	record_index_expr ->
  -	    Type = refac_syntax:record_index_expr_type(Node),
  -	    Field = refac_syntax:record_index_expr_field(Node),
  -	    {S1, _E1} = get_range(Type),
  -	    {_S2, E2} = get_range(Field),
  -	    refac_syntax:add_ann({range, {S1, E2}}, Node);
  +	    calc_and_add_range_to_node(Node, record_index_expr_type, record_index_expr_field);
   	comment ->
   	    T = refac_syntax:comment_text(Node),
   	    Lines = length(T),
  
positive.code: 				   'end'),   %% S starts from 'fun', so there is no need to extend forwards/
  	    refac_syntax:add_ann({range, {S, E11}}, Node);
  	arity_qualifier ->
  	    B = refac_syntax:arity_qualifier_body(Node),
  	    A = refac_syntax:arity_qualifier_argument(Node),
  	    {S1, _E1} = get_range(B),
  	    {_S2, E2} = get_range(A),
  	    refac_syntax:add_ann({range, {S1, E2}}, Node);
  	implicit_fun ->
  	    S = refac_syntax:get_pos(Node),
  	    N = refac_syntax:implicit_fun_name(Node),
  
negative.code: 		     end
  	    end;
  	generator ->
  	    calc_and_add_range_to_node(Node, generator_pattern, generator_body);
  	binary_generator ->
  	    calc_and_add_range_to_node(Node, binary_generator_pattern, binary_generator_body);
  	tuple ->
  	    Es = refac_syntax:tuple_elements(Node),
  	    case length(Es) of
  