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: -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) ->
  
negative.code: -export([start_link/3]).
  -export([create_schema/2]).
  -export([persist/2]).
  -export([delete_by/3, delete_all/2]).
  -export([find_all/2, find_all/5, find_by/3, find_by/5, find_by/6]).
  -export([call/4]).
  
  