anchor.diff:  
   %% @private
   -spec handle_info(term(), atom(), term()) ->
  -    {next_state, atom(), state()}.
  +    {next_state, atom(), statedata()}.
   handle_info({gun_up, Pid, _Protocol}, StateName, StateData = #{pid := Pid}) ->
       {next_state, StateName, StateData};
   handle_info(
       {gun_down, Pid, Protocol, {error, Reason},
        KilledStreams, UnprocessedStreams}, StateName,
  -     StateData = #{pid := Pid}) ->
  +    StateData = #{pid := Pid}) ->
       error_logger:warning_msg(
           "~p connection down on ~p: ~p (Killed: ~p, Unprocessed: ~p)",
           [Protocol, Pid, Reason, KilledStreams, UnprocessedStreams]),
  
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:     handle_info(Event, wait_response, StateData).
  
  %% @private
  %% @doc Regular response
  -spec receive_data({call, pid()} | cast | info, term(), statedata()) ->
      keep_state_and_data |
      {keep_state, statedata()} |
      {next_state, atom(), statedata()} |
      {next_state, atom(), statedata(), timeout()}.
  receive_data({call, From}, Event, StateData) ->
      enqueue_work_or_stop(receive_data, Event, From, StateData);
  receive_data(cast, {'DOWN', _, _, _, _Reason}, _StateData) ->
  