anchor.diff:  
   raise(Mod, Func, Args, Class, Reason) ->
       Stacktrace = inject(Mod, Func, Args, erlang:get_stacktrace()),
  -    call(Mod, {add_history, {{Mod, Func, Args}, Class, Reason, Stacktrace}}),
  +    cast(Mod, {add_history, {{Mod, Func, Args}, Class, Reason, Stacktrace}}),
       erlang:raise(Class, Reason, Stacktrace).
   
   mock_exception_fun(Class, Reason) -> fun() -> {exception, Class, Reason} end.
  
positive.code: exec(Mod, Func, Arity, Args) ->
      Expect = call(Mod, {get_expect, Func, Arity}),
      try Result = call_expect(Mod, Func, Expect, Args),
          call(Mod, {add_history, {{Mod, Func, Args}, Result}}),
          Result
      catch
          throw:Fun when is_function(Fun) ->
  
negative.code:     {reply, ok, S#state{expects = NewExpects}};
  handle_call(history, _From, S) ->
      {reply, lists:reverse(S#state.history), S};
  handle_call(invalidate, _From, S) ->
      {reply, ok, S#state{valid = false}};
  handle_call(validate, _From, S) ->
  