anchor.diff:      {PidsToKill, Pids1} = lists:split(3, Pids10),
   
       ?assertEqual(ok, rpc(Socket1, pg, join, [?FUNCTION_NAME, ?FUNCTION_NAME, Pids10])),
  -    sync({?FUNCTION_NAME, Peer1}),
  +    sync({?FUNCTION_NAME, Peer1}), %% Join broadcast have reached local
  +    sync(?FUNCTION_NAME), %% Join broadcast has been processed by local
       ?assertEqual(lists:sort(Pids10), lists:sort(pg:get_members(?FUNCTION_NAME, ?FUNCTION_NAME))),
       [rpc(Socket1, ?MODULE, stop_proc, [Pid]) || Pid <- PidsToKill],
       sync(?FUNCTION_NAME),
  
positive.code:     RemoteScopePid = rpc:call(Peer, erlang, whereis, [?FUNCTION_NAME]),
      ?assert(is_pid(RemoteScopePid)),
      %% hohoho, partition!
      net_kernel:disconnect(Peer),
      ?assertEqual(true, net_kernel:connect_node(Peer)),
      %% now ensure sync happened
      sync({?FUNCTION_NAME, Peer}),
      sync(?FUNCTION_NAME),
      ?assertEqual(Expected, lists:sort(pg:get_members(?FUNCTION_NAME, one))),
      %% WARNING: this code uses pg as white-box, exploiting internals,
      %%  only to simulate broken 'sync'
  
negative.code:     Pids = lists:sort(Pids1 ++ Pids2 ++ Pids11),
      ?assert(lists:all(fun erlang:is_pid/1, Pids)),
  
      disconnect_nodes([Peer1, Peer2]),
  
      sync(?FUNCTION_NAME), %% Processed nodedowns...
      ?assertEqual([], lists:sort(pg:get_members(?FUNCTION_NAME, ?FUNCTION_NAME))),
  
      [?assertEqual(ok, rpc(Socket2, pg, join, [?FUNCTION_NAME, ?FUNCTION_NAME, Pid])) || Pid <- Pids2],
  