anchor.diff:            (node_details(), is_leaving, boolean()) -> node_details();
             (node_details(), succ, node:node_type()) -> node_details();
             (node_details(), succlist, nodelist:non_empty_snodelist()) -> node_details();
  +          (node_details(), db, boolean()) -> node_details();
             (node_details(), load, load()) -> node_details();
             (node_details(), load2, load2()) -> node_details();
             (node_details(), load2, load3()) -> node_details();
  
positive.code:      {message_log, message_log()} |
       {memory, memory()} |
       {new_key, ?RT:key()} |
       {is_leaving, boolean()}]).
  
  -opaque(node_details() :: node_details_record() | node_details_list()).
  
negative.code: 
  -type(node_details_name() :: predlist | pred | node | my_range | succ |
                               succlist | load | hostname | rt_size |
                               message_log | memory | new_key | db | is_leaving).
  
  -record(node_details, {predlist = ?required(node_details, predlist) :: nodelist:non_empty_snodelist(),
                         node     = ?required(node_details, node)     :: node:node_type(),
  