anchor.diff:  set_adjacent_pred(#rt_entry{adjacent_fingers={_Pred, SuccId}} = Entry, PredId) ->
       set_adjacent_fingers(Entry, PredId, SuccId).
   
  -%% @doc Set the custom info field of a rt entry
  --spec set_custom_info(rt_entry(), custom_info()) -> rt_entry().
  -set_custom_info(#rt_entry{} = Entry, CustomInfo) ->
  -    Entry#rt_entry{custom=CustomInfo}.
  -
  +-ifdef(GFRT).
   %% @doc Get the custom info field of a rt entry
   -spec get_custom_info(rt_entry()) -> custom_info().
  -get_custom_info(#rt_entry{custom=CustomInfo}) ->
  -    CustomInfo.
  +get_custom_info(#rt_entry{custom=CustomInfo}) -> CustomInfo.
  +-endif.
   
   %% @doc Get the adjacent predecessor rt_entry() of the given node.
   -spec predecessor_node(RT :: rt(), Node :: rt_entry()) -> rt_entry().
  
positive.code: -spec rt_entry_set_node(Entry :: rt_entry(), Node :: mynode()) -> rt_entry().
  rt_entry_set_node(#rt_entry{} = Entry, Node) -> Entry#rt_entry{node=Node}.
  
  % @doc Calculate the distance between two nodes in the routing table
  -spec rt_entry_distance(From :: rt_entry(), To :: rt_entry()) -> non_neg_integer().
  rt_entry_distance(From, To) ->
      get_range(id(rt_entry_node(From)), id(rt_entry_node(To))).
  
  % @doc Get all nodes within the routing table
  -spec rt_get_nodes(RT :: rt()) -> [rt_entry()].
  rt_get_nodes(RT) -> gb_trees:values(get_rt_tree(RT)).
  
negative.code: 
  % exports for unit tests
  -export([check_rt_integrity/1, check_well_connectedness/1, get_random_key_from_generator/3]).
  
  % Functions which are specific to the frt/gfrt implementation
  -export([allowed_nodes/1, frt_check_config/0, rt_entry_info/4]).
  