anchor.diff:  %% @end
   %%--------------------------------------------------------------------
   handle_call(Request, _From, State) ->
  -    {Reply, SEs, NewState} = handle_req(Request, State),
  -    ok = handle_side_effects(SEs),
  -    {reply, Reply, NewState}.
  +    case handle_req(Request, State) of
  +        {ok, SEs, NewState} when is_list(SEs) ->
  +            ok = handle_side_effects(SEs),
  +            {reply, ok, NewState};
  +        {Error, _, State} when is_atom(Error) ->
  +            {reply, {error, Error}, State};
  +        {Result, _, State} ->
  +            {reply, Result, State}
  +    end.
   
   %%--------------------------------------------------------------------
   %% @private
  
positive.code: 
  %% Developer API
  -export([
  	 execute/2
  	 ]).
  
  %% gen_server callbacks
  -export([
  
negative.code: %%% API
  %%%===================================================================
  execute(FSM, {QId, Qry}) ->
      gen_server:call(FSM, {execute, {QId, Qry}}).
  
  fetch(FSM, QId) ->
      gen_server:call(FSM, {fetch, QId}).
  
  %%%===================================================================
  %%% gen_server callbacks
  