anchor.diff:              {stop, pack_seqs(C2)}
           end
       end.
  +
  +pending_count(Dict) ->
  +    fabric_dict:fold(fun(_Worker, C, Acc) -> C+Acc end, 0, Dict).
   
   pack_seqs(Workers) ->
       SeqList = [{N,R,S} || {#shard{node=N, range=R}, S} <- Workers],
  
positive.code:     {replace, Node, Uuid, Seq};
  make_replacement_arg(_, _) ->
      0.
  
  make_changes_args(#changes_args{style=Style, filter=undefined}=Args) ->
      Args#changes_args{filter = Style};
  
negative.code: 
  % Temporary upgrade clause - Case 24236
  handle_message({complete, Key}, Worker, State) when is_tuple(Key) ->
      handle_message({complete, [{seq, Key}, {pending, 0}]}, Worker, State);
  
  handle_message({change, Props}, {Worker, _}, #collector{limit=0} = State) ->
      O0 = State#collector.offset,
      O1 = case fabric_dict:lookup_element(Worker, O0) of
          null ->
              % Use Pending+1 because we're ignoring this row in the response
              Pending = couch_util:get_value(pending, Props),
              fabric_dict:store(Worker, Pending+1, O0);
          _ ->
              O0
      end,
      maybe_stop(State#collector{offset = O1});
  
  handle_message({complete, Props}, Worker, #collector{limit=0} = State) ->
      O0 = State#collector.offset,
      O1 = case fabric_dict:lookup_element(Worker, O0) of
          null ->
              fabric_dict:store(Worker, couch_util:get_value(pending,Props), O0);
          _ ->
              O0
      end,
      maybe_stop(State#collector{offset = O1});
  
  handle_message(#change{} = Row, {Worker, From}, St) ->
      Change = {change, [
  