anchor.diff:  -type state()        :: #{ connection     := connection()
                            , gun_connection := pid()
                            , gun_monitor    := reference()
  +                         , client         := pid()
                            }.
   
   %%%===================================================================
  
positive.code:   {ok, Pid :: pid()} | ignore | {error, Reason :: term()}.
  start_link(Connection, Client) ->
    Name = name(Connection),
    gen_server:start_link({local, Name}, ?MODULE, [Connection, Client], []).
  
  %% @doc Builds a connection() map from the environment variables.
  -spec default_connection(name()) -> connection().
  
negative.code: %%% gen_server callbacks
  %%%===================================================================
  
  -spec init({connection(), pid()}) -> {ok, State :: state(), timeout()}.
  init({Connection, Client}) ->
    {GunMonitor, GunConnectionPid} = open_gun_connection(Connection),
  
    {ok, #{ connection     => Connection
          , gun_connection => GunConnectionPid
          , gun_monitor    => GunMonitor
          , client         => Client
          }, 0}.
  
  -spec handle_call( Request :: term(), From :: {pid(), term()}, State) ->
    {reply, ok, State}.
  