   def forward_response(%Message{start_line: %StatusLine{}} = response,
                        %Transactions.Server.Key{} = server_key) do
     response
-    |> remove_topmost_via()
     |> fallback_to_transport(&Transactions.send_response(&1, server_key))
   end
 end

  @doc """
  Forwards a response.

  The topmost Via header of the response is removed before forwarding.

  The response will find its way back to an existing server transaction, if one
  exists, or will be sent directly to the network transport otherwise.

  @spec forward_response(Message.response) :: on_response_sent
  def forward_response(%Message{start_line: %StatusLine{}} = response) do
    response
    |> fallback_to_transport(&Transactions.send_response/1)
  end

  defp fallback_to_transport(message, fun) do
