anchor.diff:  %% In your module you need to specify the behavior `syn_event_handler' and implement the callbacks.
   %% All callbacks are optional, so you just need to define the ones you need.
   %%
  -%% All of the callbacks, except for `resolve_registry_conflict/3', are called on all the nodes of the cluster.
  +%% All of the callbacks, except for `resolve_registry_conflict/4', are called on all the nodes of the cluster.
   %% This allows you to receive events for the processes running on nodes that get shut down, or in case of net splits.
   %%
   %% The argument `Reason' in the callbacks can be:
  
positive.code: %% </ul>
  %% This is a very simple mechanism that can be imprecise, as system clocks are not perfectly aligned in a cluster.
  %% If something more elaborate is desired, or if you do not want the discarded process to be killed (i.e. to perform
  %% a graceful shutdown), you MAY specify a custom handler that implements the `resolve_registry_conflict/3' callback.
  %% To this effect, you may also store additional data to resolve conflicts in the `Meta' value, since it will be passed
  %% into the callback for both of the conflicting processes.
  %%
  
negative.code: ) -> any().
  
  -callback resolve_registry_conflict(
      Scope :: atom(),
      Name :: term(),
      {Pid1 :: pid(), Meta1 :: term(), Time1 :: non_neg_integer()},
      {Pid2 :: pid(), Meta2 :: term(), Time2 :: non_neg_integer()}
  