anchor.diff:                  "Syn(~p): Keeping local process ~p, killing remote ~p",
                   [node(), TablePid, RemotePid]
               ),
  -            KeepTableFun(),
               case KillOther of
                   true -> exit(RemotePid, {syn_resolve_kill, Name, RemoteMeta});
                   _ -> ok
  -            end;
  +            end,
  +            %% return
  +            PidToKeep;
   
           RemotePid ->
               %% keep remote
  
positive.code:                     TablePid = Entry#syn_registry_table.pid,
                      TableMeta = Entry#syn_registry_table.meta,
  
                      resolve_conflict(Name, {TablePid, TableMeta}, {RemotePid, RemoteMeta},
                          %% keep currently in table
                          fun() ->
                              %% overwrite
                              ok = rpc:call(RemoteNode, syn_registry, add_to_local_table, [Name, TablePid, TableMeta, undefined])
                          end,
                          %% keep remote
                          fun() ->
                              %% overwrite
                              add_to_local_table(Name, RemotePid, RemoteMeta, undefined)
                          end,
                          State
                      )
                  end
              )
      end,
  
negative.code:     Name :: any(),
      {LocalPid :: pid(), LocalMeta :: any()},
      {RemotePid :: pid(), RemoteMeta :: any()},
      #state{}
  ) -> pid() | undefined.
  resolve_conflict(
      Name,
      {TablePid, TableMeta},
      {RemotePid, RemoteMeta},
      #state{custom_event_handler = CustomEventHandler}
  ) ->
      TablePidAlive = rpc:call(node(TablePid), erlang, is_process_alive, [TablePid]),
  