anchor.diff:  
   -opaque(rt_t() :: #rt_t{}).
   
  +-type custom_message() :: {get_rt, SourcePID :: comm:mypid()}
  +                        | {get_rt_reply, RT::rt_t()}.
  +
   %% userdevguide-end rt_frtchord:types
   
   % Note: must include rt_beh.hrl AFTER the type definitions for erlang < R13B04
  
positive.code: %% userdevguide-begin rt_frtchord:types
  -type key_t() :: 0..16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF. % 128 bit numbers
  -type external_rt_t() :: gb_tree().
  -type custom_message() :: {get_rt, SourcePID :: comm:mypid()}.
  
  % define the possible types of nodes in the routing table:
  %  - normal nodes are nodes which have been added by entry learning
  
negative.code: %% userdevguide-begin rt_frtchord:filter_dead_node
  %% @doc Removes dead nodes from the routing table (rely on periodic
  %%      stabilization here).
  -spec filter_dead_node(rt(), comm:mypid()) -> rt().
  filter_dead_node(RT, DeadPid) -> 
      % find the node id of DeadPid and delete it from the RT
      [Node] = [N || {N, _,_,_} <- to_list(RT), node:pidX(N) =:= DeadPid],
  