anchor.diff:  %%      - TODO explain messages
   
   % send the RT to a node asking for it
  +-spec handle_custom_message(custom_message(), rt_loop:state_active()) ->
  +                                   rt_loop:state_active() | unknown_event.
   handle_custom_message({get_rt, Pid}, State) ->
       comm:send(Pid, {get_rt_reply, rt_loop:get_rt(State)}),
       State
  
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: 
  -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
  