anchor.diff:  
   waiting_vnode_r({r, {ok, RObj}, Idx, ReqId},
                     StateData=#state{r=R,allowmult=AllowMult,
  -                                   req_id=ReqId,client=Client,
  +                                   req_id=ReqId,
                                      replied_r=Replied0}) ->
       Replied = [{RObj,Idx}|Replied0],
       case length(Replied) >= R of
           true ->
  -            Final = respond(Client,Replied,AllowMult,ReqId),
  +            {Reply, Final} = respond(Replied,AllowMult),
  +            client_reply(Reply, StateData),
               update_stats(StateData),
               NewStateData = StateData#state{replied_r=Replied,final_obj=Final},
               finalize(NewStateData);
  
positive.code:         X ->
              Reply = X
      end,
      Client ! {ReqId, Reply},
      Merged.
  
  merge_robjs([], _) ->
      {error, notfound};
  
negative.code: %% @private
  code_change(_OldVsn, StateName, State, _Extra) -> {ok, StateName, State}.
  
  client_reply(Reply, #state{client = Client, req_id = ReqId}) ->
      Client ! {ReqId, Reply}.
  
  merge(VResponses, AllowMult) ->
     merge_robjs([R || {R,_I} <- VResponses],AllowMult).
  
  respond(VResponses,AllowMult) ->
      Merged = merge(VResponses, AllowMult),
      case Merged of
          tombstone ->
  