anchor.diff:                  add_sticky_entry(Entry, Acc)
           end, RT, List).
   
  +-spec empty(nodelist:neighborhood()) -> rt().
   empty(Neighbors) -> 
       % enter all known nodes as sticky entries into the gb tree
       EmptyRT = #rt_t{},
  
positive.code: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  %% userdevguide-begin rt_frtchord:empty_ext
  empty_ext(Neighbors) -> empty(Neighbors).
  %% userdevguide-end rt_frtchord:empty_ext
  
  %% userdevguide-begin rt_frtchord:next_hop
  %% @doc Returns the next hop to contact for a lookup.
  %% TODO Next hop contains type errors
  next_hop(State, Id) ->
      Neighbors = dht_node_state:get(State, neighbors),
      case intervals:in(Id, nodelist:succ_range(Neighbors)) of
  
negative.code: %% userdevguide-end rt_frtchord:empty
  
  % @doc Initialize the routing table. This function is allowed to send messages.
  -spec init(nodelist:neighborhood()) -> rt().
  init(Neighbors) -> 
      % ask the successor node for its routing table
      % XXX i have to wrap the message as the Pid given as the succ is actually the dht
  