anchor.diff:              {ok, {WaitingCount - 1, DocCount, W, NewGrpDocs, DocReplyDict}};
           {stop, W, FinalReplies} ->
               {stop, {ok, FinalReplies}}
  -        end
  +        end;
  +    _ ->
  +        {ok, {WaitingCount - 1, DocCount, W, NewGrpDocs, DocReplyDict}}
       end;
   handle_message({missing_stub, Stub}, _, _) ->
       throw({missing_stub, Stub});
  
positive.code: 
  go(_, [], _) ->
      {ok, []};
  go(DbName, AllDocs, Opts) ->
      validate_atomic_update(DbName, AllDocs, lists:member(all_or_nothing, Opts)),
      Options = lists:delete(all_or_nothing, Opts),
      GroupedDocs = lists:map(fun({#shard{name=Name, node=Node} = Shard, Docs}) ->
          Ref = rexi:cast(Node, {fabric_rpc, update_docs, [Name, Docs, Options]}),
          {Shard#shard{ref=Ref}, Docs}
      end, group_docs_by_shard(DbName, AllDocs)),
      {Workers, _} = lists:unzip(GroupedDocs),
      RexiMon = fabric_util:create_monitors(Workers),
      W = couch_util:get_value(w, Options, integer_to_list(mem3:quorum(DbName))),
      Acc0 = {length(Workers), length(AllDocs), list_to_integer(W), GroupedDocs,
          dict:from_list([{Doc,[]} || Doc <- AllDocs])},
      Timeout = fabric_util:request_timeout(),
      try rexi_utils:recv(Workers, #shard.ref, fun handle_message/3, Acc0, infinity, Timeout) of
      {ok, {Health, Results}} when Health =:= ok; Health =:= accepted ->
  
negative.code:     handle_message({ok, [X || _D <- Docs]}, Worker, Acc0);
  handle_message({bad_request, Msg}, _, _) ->
      throw({bad_request, Msg}).
  
  tag_docs([]) ->
      [];
  tag_docs([#doc{meta=Meta}=Doc | Rest]) ->
      [Doc#doc{meta=[{ref, make_ref()} | Meta]} | tag_docs(Rest)].
  
  untag_docs([]) ->
      [];
  untag_docs([#doc{meta=Meta}=Doc | Rest]) ->
      [Doc#doc{meta=lists:keydelete(ref, 1, Meta)} | untag_docs(Rest)].
  
  force_reply(Doc, [], {_, W, Acc}) ->
      {error, W, [{Doc, {error, internal_server_error}} | Acc]};
  