anchor.diff:      {stop, normal, ok, S}.
   
   %% @hidden
  -handle_cast({add_history, _Item}, #state{history=undefined}=S) ->
  +handle_cast({add_history, _Item}, S = #state{history = undefined}) ->
       {noreply, S};
   handle_cast({add_history, Item}, S) ->
       {noreply, S#state{history = [Item| S#state.history]}};
  
positive.code: handle_call({delete, Func, Arity}, _From, S) ->
      NewExpects = delete_expect(S#state.mod, {Func, Arity}, S#state.expects),
      {reply, ok, S#state{expects = NewExpects}};
  handle_call(history, _From, #state{history=undefined}=S) ->
      {reply, [], S};
  handle_call(history, _From, S) ->
      {reply, lists:reverse(S#state.history), S};
  
negative.code: 
  start(Func, Mod, Options) ->
      SpawnOpt = proplists:get_value(spawn_opt, Options, []),
      gen_server:Func({local, proc_name(Mod)}, ?MODULE, [Mod, Options],
                      [{spawn_opt, SpawnOpt}]).
  
  cast(Mod, Msg) -> gen_server(cast, Mod, Msg).
  call(Mod, Msg) -> gen_server(call, Mod, Msg).
  