anchor.diff:  -callback init(term()) -> {ok, term()}.
   -callback persist(sumo_internal:doc(), State) ->
               result(sumo_internal:doc(), State).
  --callback delete(sumo:schema_name(), sumo:field_value(), State) ->
  -            result(affected_rows(), State).
   -callback delete_by(sumo:schema_name(), sumo:conditions(), State) ->
               result(affected_rows(), State).
   -callback delete_all(sumo:schema_name(), State) ->
  
positive.code:   {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
  ) ->
  
negative.code: persist(Name, Doc) ->
    wpool:call(Name, {persist, Doc}).
  
  %% @doc Deletes the docs identified by the given conditions.
  -spec delete_by(
    atom(), sumo:schema_name(), sumo:conditions()
  