anchor.diff:      error_logger:info_msg("SYN[~s] Received DISCOVER request from node '~s' and scope '~s'", [node(), RemoteScopeNode, Scope]),
       %% send data
       RegistryTuplesOfLocalNode = get_registry_tuples_for_node(Scope, node()),
  -    cast_to_node(RemoteScopeNode, {'3.0', ack_sync, self(), RegistryTuplesOfLocalNode}, State),
  +    send_to_node(RemoteScopeNode, {'3.0', ack_sync, self(), RegistryTuplesOfLocalNode}, State),
       %% is this a new node?
       case maps:is_key(RemoteScopeNode, Nodes) of
           true ->
  
positive.code:             _MRef = monitor(process, RemoteScopePid),
              %% send data
              RegistryTuplesOfLocalNode = get_registry_tuples_for_node(Scope, node()),
              cast_to_node(RemoteScopeNode, {'3.0', ack_sync, self(), RegistryTuplesOfLocalNode}, State),
              %% return
              {noreply, State#state{nodes = Nodes#{RemoteScopeNode => RemoteScopePid}}}
      end.
  
  %% ----------------------------------------------------------------------------------------------------------
  %% Info messages
  %% ----------------------------------------------------------------------------------------------------------
  -spec handle_info(Info :: any(), #state{}) ->
      {noreply, #state{}} |
      {noreply, #state{}, Timeout :: non_neg_integer()} |
      {stop, Reason :: any(), #state{}}.
  handle_info({'DOWN', _MRef, process, Pid, _Reason}, #state{
      scope = Scope,
      nodes = Nodes
  
negative.code: -spec broadcast(Message :: any(), ExcludedNodes :: [node()], #state{}) -> any().
  broadcast(Message, ExcludedNodes, #state{process_name = ProcessName, nodes = Nodes}) ->
      lists:foreach(fun(RemoteNode) ->
          erlang:send({ProcessName, RemoteNode}, Message, [noconnect])
      end, maps:keys(Nodes) -- ExcludedNodes).
  
  -spec broadcast_all(Message :: any(), #state{}) -> any().
  broadcast_all(Message, #state{process_name = ProcessName}) ->
      lists:foreach(fun(RemoteNode) ->
          erlang:send({ProcessName, RemoteNode}, Message, [noconnect])
      end, nodes()).
  
  -spec send_to_node(RemoteNode :: node(), Message :: any(), #state{}) -> any().
  send_to_node(RemoteNode, Message, #state{process_name = ProcessName}) ->
      erlang:send({ProcessName, RemoteNode}, Message, [noconnect]).
  
  -spec get_registry_tuples_for_node(Scope :: atom(), Node :: node()) -> [syn_registry_tuple()].
  get_registry_tuples_for_node(Scope, Node) ->
  