anchor.diff:      RequestValue#request{retry_count = RetryCount + 1}.
   
   response_store(RequestKey, ResponseInfo, Response,
  -               #state{sender_id = SenderId,
  -                      service = Service,
  -                      crdt = CRDT0} = State, Dispatcher) ->
  +               #state{crdt = CRDT0} = State, Dispatcher) ->
       ResponseData = {ResponseInfo, Response},
  -    CRDTN = cloudi_crdt:update(Dispatcher,
  -                               RequestKey,
  -                               ?MODULE,
  -                               response_store_crdt,
  -                               [RequestKey, ResponseData, Service, SenderId],
  -                               CRDT0),
  +    UpdateF = response_store_crdt,
  +    CRDTN = cloudi_crdt:update_id(Dispatcher,
  +                                  RequestKey,
  +                                  ?MODULE,
  +                                  UpdateF,
  +                                  ResponseData,
  +                                  UpdateF,
  +                                  CRDT0),
       State#state{crdt = CRDTN}.
   
  -response_store_crdt([RequestKey, ResponseData, Service, SenderId],
  -                    #request{name = Name,
  -                             pattern = Pattern,
  -                             timeout_last = TimeoutLast,
  -                             trans_id_last = TransIdLast,
  -                             pending = Pending,
  -                             sender_id = SenderIdRequest} = RequestValue) ->
  -    {ResponseInfo, Response} = ResponseData,
  -    ok = sender_only(fun() ->
  -        Service ! {response_return,
  -                   Name, Pattern, ResponseInfo, Response, Pending},
  -        ResponseTimeout = timeout_current(TimeoutLast, TransIdLast),
  -        erlang:send_after(ResponseTimeout, Service,
  -                          {response_timeout, RequestKey})
  -    end, SenderId, SenderIdRequest),
  +response_store_crdt(ResponseData, RequestValue) ->
       RequestValue#request{pending = [],
                            response = ResponseData}.
   
  
positive.code:     response_return(Pending, Name, Pattern, ResponseInfo, Response,
                      MicroSecondsNow, Dispatcher).
  
  response_timeout_crdt([RequestKey, Service, SenderId],
                        #request{timeout_last = TimeoutLast,
                                 trans_id_last = TransIdLast,
                                 sender_id = SenderIdRequest} = RequestValue) ->
      case timeout_current(TimeoutLast, TransIdLast) of
          0 ->
              undefined;
          ResponseTimeout ->
              ok = sender_only(fun() ->
                  erlang:send_after(ResponseTimeout, Service,
                                    {response_timeout, RequestKey})
              end, SenderId, SenderIdRequest),
              RequestValue
      end.
  
  
negative.code:          request_crdt_merge/2,
           request_send_retry_crdt/1,
           response_store_crdt/2,
           response_timeout_crdt/1]).
  
  %% cloudi_service callbacks
  -export([cloudi_service_init/4,
  