anchor.diff:    {reply, {OkOrError, Reply}, State#state{handler_state=NewState}};
   
   handle_call(
  -  {delete, DocName, Id}, _From,
  -  #state{handler = Handler, handler_state = HState} = State
  -) ->
  -  {OkOrError, Reply, NewState} = Handler:delete(DocName, Id, HState),
  -  {reply, {OkOrError, Reply}, State#state{handler_state=NewState}};
  -
  -handle_call(
     {delete_by, DocName, Conditions}, _From,
     #state{handler = Handler, handler_state = HState} = State
   ) ->
  
positive.code: persist(Name, Doc) ->
    wpool:call(Name, {persist, Doc}).
  
  %% @doc Deletes the doc identified by id in the given store name.
  -spec delete(
    atom(), sumo:schema_name(), sumo:field_value()
  ) -> ok | {error, term()}.
  delete(Name, DocName, Id) ->
    wpool:call(Name, {delete, DocName, Id}).
  
  %% @doc Deletes the docs identified by the given conditions.
  -spec delete_by(
    atom(), sumo:schema_name(), sumo:conditions()
  
negative.code: -callback init(term()) -> {ok, term()}.
  -callback persist(sumo_internal:doc(), State) ->
              result(sumo_internal:doc(), State).
  -callback delete_by(sumo:schema_name(), sumo:conditions(), State) ->
              result(affected_rows(), State).
  -callback delete_all(sumo:schema_name(), State) ->
  