anchor.diff:  -export([start/0, start/1, start/2, stop/0]).
   -export([start_deliver/0, start_deliver/1]).
   -export([get_infos/0, get_infos/1]).
  +-export([register_callback/1, register_callback/2]).
   -export([cleanup/0, cleanup/1]).
   
   %% report messages from other modules
  
positive.code: -type delay_queue_key()  :: {Dest :: comm:mypid()}.
  -type msg_queues()       :: [queue_key()].
  -type msg_delay_queues() :: [delay_queue_key()].
  
  -record(state,
          {msg_queues              = ?required(state, msg_queues)
  
negative.code:          passed_state            = ?required(state, passed_state)
                                         :: none | passed_state(),
           num_possible_executions = ?required(state, passed_state)
                                         :: pos_integer(),
           callback_on_deliver     = ?required(state, callback_on_deliver)
                                         :: callback_on_deliver()
          }).
  
  -type state_t() :: #state{}.
  
  -spec start() -> ok.
  start() -> start(default).
  
  