anchor.diff:  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
   %% @private
  --spec clean_state_data() -> state().
  +-spec clean_state_data() -> statedata().
   clean_state_data() ->
       clean_state_data(#{}).
   
   %% @private
  --spec clean_state_data(map()) -> state().
  +-spec clean_state_data(map()) -> statedata().
   clean_state_data(StateData) ->
       Responses = maps:get(responses, StateData, queue:new()),
       Requests  = maps:get(pending_requests, StateData, queue:new()),
  
positive.code:     not_work.
  
  %% @private
  -spec get_work(state()) -> no_work | {ok, work(), state()}.
  get_work(StateData) ->
      PendingReqs = maps:get(pending_requests, StateData),
      case queue:is_empty(PendingReqs) of
  
negative.code:     enqueue_work_or_stop(StateName, Event, From, StateData, infinity).
  
  %% @private
  -spec enqueue_work_or_stop(atom(), term(), pid(), statedata(), timeout()) ->
      keep_state_and_data |
      {keep_state, statedata()}.
  enqueue_work_or_stop(_StateName, Event, From, StateData, Timeout) ->
      case create_work(Event, From) of
          {ok, Work} ->
  