anchor.diff:  -spec multicast_register(Name :: any(), Pid :: pid(), Meta :: any()) -> pid().
   multicast_register(Name, Pid, Meta) ->
       spawn_link(fun() ->
  -        lists:foreach(fun(RemoteNode) ->
  -            sync_register(RemoteNode, Name, Pid, Meta)
  -        end, nodes())
  +        rpc:eval_everywhere(nodes(), ?MODULE, add_remote_to_local_table, [Name, Pid, Meta])
       end).
   
   -spec multicast_unregister(Name :: any()) -> pid().
   multicast_unregister(Name) ->
       spawn_link(fun() ->
  +        rpc:eval_everywhere(nodes(), ?MODULE, remove_from_local_table, [Name])
  +    end).
  +
  +-spec multicast_inconsistent_name_data(Name :: any(), Pid :: pid(), Meta :: any()) -> pid().
  +multicast_inconsistent_name_data(Name, Pid, Meta) ->
  +    spawn_link(fun() ->
           lists:foreach(fun(RemoteNode) ->
  -            sync_unregister(RemoteNode, Name)
  +            raise_inconsistent_name_data(RemoteNode, node(), Name, Pid, Meta)
           end, nodes())
       end).
   
  
positive.code:     RegistryTuples = get_registry_tuples_for_node(Node),
      length(RegistryTuples).
  
  -spec sync_register(RemoteNode :: node(), Name :: any(), Pid :: pid(), Meta :: any()) -> ok.
  sync_register(RemoteNode, Name, Pid, Meta) ->
      gen_server:cast({?MODULE, RemoteNode}, {sync_register, Name, Pid, Meta}).
  
  -spec sync_unregister(RemoteNode :: node(), Name :: any()) -> ok.
  sync_unregister(RemoteNode, Name) ->
      gen_server:cast({?MODULE, RemoteNode}, {sync_unregister, Name}).
  
  -spec sync_get_local_registry_tuples(FromNode :: node()) -> [syn_registry_tuple()].
  sync_get_local_registry_tuples(FromNode) ->
      error_logger:info_msg("Syn(~p): Received request of local registry tuples from remote node: ~p~n", [node(), FromNode]),
      get_registry_tuples_for_node(node()).
  
  %% ===================================================================
  %% Callbacks
  
negative.code:     {noreply, #state{}, Timeout :: non_neg_integer()} |
      {stop, Reason :: any(), #state{}}.
  
  handle_cast({inconsistent_name_data, OriginatingNode, Name, RemotePid, RemoteMeta}, State) ->
      error_logger:warning_msg("Syn(~p): Inconsistent name ~p signalled from node ~p~n", [node(), Name, OriginatingNode]),
      global:trans({{?MODULE, auto_merge_registry}, self()},
          fun() ->
              case find_process_entry_by_name(Name) of
                  undefined ->
                      error_logger:info_msg("Syn(~p): No local data for name ~p, skipping~n", [node(), Name]);
                  Entry ->
                      error_logger:info_msg(
                          "Syn(~p): REGISTRY NAME MERGE ----> Initiating for originating node ~p~n",
                          [node(), OriginatingNode]
                      ),
                      LocalPid = Entry#syn_registry_table.pid,
                      LocalMeta = Entry#syn_registry_table.meta,
                      resolve_conflict(Name, {LocalPid, LocalMeta}, {RemotePid, RemoteMeta},
                          %% keep local
                          fun() ->
                              ok = rpc:call(OriginatingNode, syn_registry, add_to_local_table, [Name, LocalPid, LocalMeta, undefined])
                          end,
                          %% keep remote
                          fun() ->
                              add_to_local_table(Name, RemotePid, RemoteMeta, undefined)
                          end,
                          State
                      ),
                      %% exit
                      error_logger:info_msg(
                          "Syn(~p): REGISTRY NAME MERGE ----> Done for originating node ~p~n",
                          [node(), OriginatingNode]
                      )
              end
          end
      ),
      %% resume
      {noreply, State};
  
  handle_cast(Msg, State) ->
  