anchor.diff:      RegistryTuples = get_registry_tuples_for_node(Node),
       length(RegistryTuples).
   
  --spec add_remote_to_local_table(RemoteNode :: node(), Name :: any(), RemotePid :: pid(), RemoteMeta :: any()) -> ok.
  -add_remote_to_local_table(RemoteNode, Name, RemotePid, RemoteMeta) ->
  -    gen_server:cast({?MODULE, RemoteNode}, {add_remote_to_local_table, Name, RemotePid, RemoteMeta}).
  -
  --spec remove_remote_from_local_table(RemoteNode :: node(), Name :: any()) -> ok.
  -remove_remote_from_local_table(RemoteNode, Name) ->
  -    gen_server:cast({?MODULE, RemoteNode}, {remove_remote_from_local_table, Name}).
  +-spec sync_add(RemoteNode :: node(), Name :: any(), RemotePid :: pid(), RemoteMeta :: any()) -> ok.
  +sync_add(RemoteNode, Name, RemotePid, RemoteMeta) ->
  +    gen_server:cast({?MODULE, RemoteNode}, {sync_add, Name, RemotePid, RemoteMeta}).
  +
  +-spec sync_remove(RemoteNode :: node(), Name :: any()) -> ok.
  +sync_remove(RemoteNode, Name) ->
  +    gen_server:cast({?MODULE, RemoteNode}, {sync_remove, Name}).
   
   -spec sync_get_local_registry_tuples(FromNode :: node()) -> [syn_registry_tuple()].
   sync_get_local_registry_tuples(FromNode) ->
  
positive.code: multicast_register(Name, Pid, Meta) ->
      spawn_link(fun() ->
          lists:foreach(fun(RemoteNode) ->
              add_remote_to_local_table(RemoteNode, Name, Pid, Meta)
          end, nodes())
      end).
  
  
negative.code:     {noreply, #state{}, Timeout :: non_neg_integer()} |
      {stop, Reason :: any(), #state{}}.
  
  handle_cast({sync_add, Name, RemotePid, RemoteMeta}, State) ->
      %% check for conflicts
      case find_process_entry_by_name(Name) of
          undefined ->
  