anchor.diff:      end;
   
   handle_cast({remove_node, Node}, #state{waiting = W0} = State) ->
  -    {Alive, Dead} = lists:partition(fun(#job{node=N}) -> N =/= Node end, W0),
  +    {Alive, Dead} = lists:partition(fun(#job{node=N}) -> N =/= Node end, to_list(W0)),
       Dict = remove_entries(State#state.dict, Dead),
       [exit(Pid, die_now) || #job{node=N, pid=Pid} <- State#state.active,
           N =:= Node],
  -    {noreply, State#state{dict = Dict, waiting = Alive}};
  +    {noreply, State#state{dict = Dict, waiting = from_list(Alive)}};
   
   handle_cast({remove_shard, Shard}, #state{waiting = W0} = State) ->
  -    {Alive, Dead} = lists:partition(fun(#job{name=S}) -> S =/= Shard end, W0),
  +    {Alive, Dead} = lists:partition(fun(#job{name=S}) ->
  +                                        S =/= Shard end, to_list(W0)),
       Dict = remove_entries(State#state.dict, Dead),
       [exit(Pid, die_now) || #job{name=S, pid=Pid} <- State#state.active,
           S =:= Shard],
  -    {noreply, State#state{dict = Dict, waiting = Alive}}.
  +    {noreply, State#state{dict = Dict, waiting = from_list(Alive)}}.
   
   handle_info({'EXIT', Pid, _}, #state{update_notifier=Pid} = State) ->
       {ok, NewPid} = start_update_notifier(),
  
positive.code:         twig:log(debug, "adding ~s -> ~p to mem3_sync queue", [DbName, Node]),
          State#state{
              dict = dict:store({DbName,Node}, ok, D),
              waiting = Waiting ++ [Job]
          }
      end.
  
  
negative.code: -spec next_replication([#job{}], [#job{}]) -> {#job{}, [#job{}]} | nil.
  next_replication(Active, Waiting) ->
      Fun = fun(#job{name=S, node=N}) -> is_running(S,N,Active) end,
      case lists:splitwith(Fun, to_list(Waiting)) of
      {_, []} ->
          nil;
      {Running, [Job|Rest]} ->
          {Job, from_list(Running ++ Rest)}
      end.
  
  is_running(DbName, Node, ActiveList) ->
  