anchor.diff:      {get_values_all, CBModule::cb_module(), SourcePid::comm:mypid()} |
       {stop_gossip_task, CBModule::cb_module()} |
       no_msg
  -).
  +.
   
   -type message() :: bh_message() | cb_message().
   
  
positive.code: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  -type state() :: ets:tab().
  -type state_key() :: cb_modules | msg_queue | range | status |
                       {reply_peer, pos_integer()} |
                       {trigger_group, pos_integer()} |
                       {state_key_cb(), cb_module()} .
  -type state_key_cb() :: cb_state | cb_status | cycles | trigger_lock |
                          exch_data | round.
  -type cb_fun_name() :: get_values_all | get_values_best | handle_msg |
                         integrate_data | notify_change | round_has_converged |
                         select_data | select_node | select_reply_data |
                         web_debug_info | shutdown.
  -type cb_module() :: ?CBMODULES_TYPE.
  
  % accepted messages of gossip behaviour module
  -type(bh_message() ::
      {activate_gossip, Range::intervals:interval()} |
      {start_gossip_task, CBModule::cb_module(), Args::list()} |
      {gossip_trigger, TriggerInterval::pos_integer()} |
      {update_range, NewRange::intervals:interval()} |
      {web_debug_info, SourcePid::comm:mypid()} |
      {send_error, _Pid::comm:mypid(), Msg::message(), Reason::atom()} |
      {bulkowner, deliver, Id::uid:global_uid(), Range::intervals:interval(),
          Msg::comm:message(), Parents::[comm:mypid(),...]} |
      {remove_all_tombstones}
  ).
  
  -type(cb_message() ::
      {selected_data, CBModule::cb_module(), PData::gossip_beh:exch_data()} |
      {selected_peer, CBModule::cb_module(), CyclonMsg::{cy_cache,
              RandomNodes::[node:node_type()]} } |
  
negative.code:         {Key, Value} -> Value;
          undefined ->
              log:log(error(), "[ gossip ] Lookup of ~w in ~w failed", [Key, State]),
              erlang:error(lookup_failed, [Key, State])
      end.
  
  -spec state_get_raw(Key::state_key(), State::state()) -> any().
  