anchor.diff:                         ) ->
                                  {ok, pid()} | ignore | {error, term()}.
   start_client_link(Transport, Host, Port, SSLOptions, Http2Settings, ConnectionSettings) ->
  -    gen_statem:start_link(?MODULE, {client, Transport, Host, Port, SSLOptions, Http2Settings, ConnectionSettings}, []).
  +    HibernateAfterTimeout = maps:get(hibernate_after, ConnectionSettings, ?HIBERNATE_AFTER_DEFAULT_MS),
  +    gen_statem:start_link(?MODULE, {client, Transport, Host, Port, SSLOptions, Http2Settings, ConnectionSettings}, [{hibernate_after, HibernateAfterTimeout}]).
   
   -spec start_client(gen_tcp | ssl,
                           inet:ip_address() | inet:hostname(),
  
positive.code:           garbage_on_end = false :: boolean()
  }).
  
  -type connection() :: #connection{}.
  
  -type send_option() :: {send_end_stream, boolean()}.
  
negative.code:                        ) ->
                                 {ok, pid()} | ignore | {error, term()}.
  start_client(Transport, Host, Port, SSLOptions, Http2Settings, ConnectionSettings) ->
      HibernateAfterTimeout = maps:get(hibernate_after, ConnectionSettings, ?HIBERNATE_AFTER_DEFAULT_MS),
      gen_statem:start(?MODULE, {client, Transport, Host, Port, SSLOptions, Http2Settings, ConnectionSettings}, [{hibernate_after, HibernateAfterTimeout}]).
  
  -spec start_client_link(socket(),
                          settings()
                         ) ->
                                 {ok, pid()} | ignore | {error, term()}.
  start_client_link({Transport, Socket}, Http2Settings) ->
      HibernateAfterTimeout = ?HIBERNATE_AFTER_DEFAULT_MS,
      gen_statem:start_link(?MODULE, {client, {Transport, Socket}, Http2Settings}, [{hibernate_after, HibernateAfterTimeout}]).
  
  -spec start_client(socket(),
                          settings()
                         ) ->
                                 {ok, pid()} | ignore | {error, term()}.
  start_client({Transport, Socket}, Http2Settings) ->
      HibernateAfterTimeout = ?HIBERNATE_AFTER_DEFAULT_MS,
      gen_statem:start(?MODULE, {client, {Transport, Socket}, Http2Settings}, [{hibernate_after, HibernateAfterTimeout}]).
  
  -spec start_ssl_upgrade_link(inet:ip_address() | inet:hostname(),
                               inet:port_number(),
  