anchor.diff:  % Miscellaneous
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  +%% @doc Sends changes to a subscribed cyclon process when the neighborhood
  +%%      changes.
  +-spec rm_send_changes(Pid::comm:erl_local_pid(),
  +        OldNeighbors::nodelist:neighborhood(), NewNeighbors::nodelist:neighborhood()) -> ok.
  +rm_send_changes(Pid, _OldNeighbors, NewNeighbors) ->
  +    comm:send_local(Pid, {rm_changed, nodelist:node(NewNeighbors)}).
  +
   %% @doc Checks whether config parameters of the cyclon process exist and are
   %%      valid.
   -spec check_config() -> boolean().
  
positive.code: % accepted messages of an active cyclon process
  -type(message() ::
      {cy_shuffle} |
      {rm_changed, OldNeighbors::nodelist:neighborhood(), NewNeighbors::nodelist:neighborhood()} |
      {check_state} |
      {cy_subset, SourcePid::comm:mypid(), PSubset::cyclon_cache:cache()} |
      {cy_subset_response, QSubset::cyclon_cache:cache(), PSubset::cyclon_cache:cache()} |
  
negative.code:     TriggerState2 = trigger:next(TriggerState),
      {NewCache, Node, Cycles + 1, TriggerState2};
  
  on_active({rm_changed, NewNode}, {Cache, _OldNode, Cycles, TriggerState}) ->
      {Cache, NewNode, Cycles, TriggerState};
  
  on_active({check_state}, State) ->
      check_state(State),
  