diff --git a/http2/adapter/nghttp2_adapter_test.cc b/http2/adapter/nghttp2_adapter_test.cc
index 3e35524..0d9ee33 100644
--- a/http2/adapter/nghttp2_adapter_test.cc
+++ b/http2/adapter/nghttp2_adapter_test.cc
@@ -104,19 +104,19 @@
                                             spdy::SpdyFrameType::PING}));
   visitor.Clear();
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
                  {":path", "/this/is/request/one"}});
 
-  const std::vector<const Header> headers2 =
+  const std::vector<Header> headers2 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
                  {":path", "/this/is/request/two"}});
 
-  const std::vector<const Header> headers3 =
+  const std::vector<Header> headers3 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -269,7 +269,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -332,7 +332,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -396,7 +396,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -472,7 +472,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -501,7 +501,7 @@
                                   spdy::SpdyFrameType::DATA}));
   visitor.Clear();
 
-  const std::vector<const Header> trailers1 =
+  const std::vector<Header> trailers1 =
       ToHeaders({{"extra-info", "Trailers are weird but good?"}});
   adapter->SubmitTrailer(stream_id1, trailers1);
 
@@ -520,7 +520,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -600,7 +600,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -675,7 +675,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 = ToHeaders({
+  const std::vector<Header> headers1 = ToHeaders({
       {":method", "GET"},
       {":scheme", "http"},
       {":authority", "example.com"},
@@ -719,7 +719,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -805,7 +805,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -880,7 +880,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -948,7 +948,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1015,7 +1015,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1094,7 +1094,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1165,7 +1165,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1872,7 +1872,7 @@
 
   visitor.Clear();
 
-  const std::vector<const Header> headers =
+  const std::vector<Header> headers =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1886,7 +1886,7 @@
   EXPECT_THAT(visitor.data(), EqualsFrames({spdy::SpdyFrameType::HEADERS}));
   visitor.Clear();
 
-  const std::vector<const Header> push_headers =
+  const std::vector<Header> push_headers =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1944,7 +1944,7 @@
 
   visitor.Clear();
 
-  const std::vector<const Header> headers =
+  const std::vector<Header> headers =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -3083,7 +3083,7 @@
   int64_t result = adapter->ProcessBytes(frames);
   EXPECT_EQ(frames.size(), static_cast<size_t>(result));
 
-  const std::vector<const Header> headers1 = ToHeaders({{":status", "200"}});
+  const std::vector<Header> headers1 = ToHeaders({{":status", "200"}});
   auto body1 = absl::make_unique<TestDataFrameSource>(visitor, true);
   TestDataFrameSource* body1_ptr = body1.get();
 
diff --git a/http2/adapter/nghttp2_session_test.cc b/http2/adapter/nghttp2_session_test.cc
index 5f5ee0f..036c1f2 100644
--- a/http2/adapter/nghttp2_session_test.cc
+++ b/http2/adapter/nghttp2_session_test.cc
@@ -99,21 +99,21 @@
                                         spdy::SpdyFrameType::PING}));
   visitor_.Clear();
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
                  {":path", "/this/is/request/one"}});
   const auto nvs1 = GetNghttp2Nvs(headers1);
 
-  const std::vector<const Header> headers2 =
+  const std::vector<Header> headers2 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
                  {":path", "/this/is/request/two"}});
   const auto nvs2 = GetNghttp2Nvs(headers2);
 
-  const std::vector<const Header> headers3 =
+  const std::vector<Header> headers3 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
diff --git a/http2/adapter/oghttp2_adapter_test.cc b/http2/adapter/oghttp2_adapter_test.cc
index bb965c2..a822843 100644
--- a/http2/adapter/oghttp2_adapter_test.cc
+++ b/http2/adapter/oghttp2_adapter_test.cc
@@ -202,7 +202,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -279,7 +279,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -347,7 +347,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -414,7 +414,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -494,7 +494,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -525,7 +525,7 @@
                                   spdy::SpdyFrameType::DATA}));
   visitor.Clear();
 
-  const std::vector<const Header> trailers1 =
+  const std::vector<Header> trailers1 =
       ToHeaders({{"extra-info", "Trailers are weird but good?"}});
   adapter->SubmitTrailer(stream_id1, trailers1);
 
@@ -545,7 +545,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -629,7 +629,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers =
+  const std::vector<Header> headers =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -701,7 +701,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers =
+  const std::vector<Header> headers =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -774,7 +774,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -856,7 +856,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -927,7 +927,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -997,7 +997,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1064,7 +1064,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 = ToHeaders({
+  const std::vector<Header> headers1 = ToHeaders({
       {":method", "GET"},
       {":scheme", "http"},
       {":authority", "example.com"},
@@ -1156,7 +1156,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 = ToHeaders({
+  const std::vector<Header> headers1 = ToHeaders({
       {":method", "GET"},
       {":scheme", "http"},
       {":authority", "example.com"},
@@ -1229,7 +1229,7 @@
   EXPECT_EQ(0, result);
   visitor.Clear();
 
-  const std::vector<const Header> headers2 = ToHeaders({
+  const std::vector<Header> headers2 = ToHeaders({
       {":method", "GET"},
       {":scheme", "http"},
       {":authority", "example.com"},
@@ -1291,7 +1291,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1396,7 +1396,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1471,7 +1471,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1697,7 +1697,7 @@
 
   visitor.Clear();
 
-  const std::vector<const Header> headers =
+  const std::vector<Header> headers =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1711,7 +1711,7 @@
   EXPECT_THAT(visitor.data(), EqualsFrames({spdy::SpdyFrameType::HEADERS}));
   visitor.Clear();
 
-  const std::vector<const Header> push_headers =
+  const std::vector<Header> push_headers =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1769,7 +1769,7 @@
 
   visitor.Clear();
 
-  const std::vector<const Header> headers =
+  const std::vector<Header> headers =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1921,7 +1921,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -1936,7 +1936,7 @@
       adapter->SubmitRequest(headers1, std::move(body1), nullptr);
   ASSERT_GT(stream_id1, 0);
 
-  const std::vector<const Header> headers2 =
+  const std::vector<Header> headers2 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -2003,7 +2003,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -2017,7 +2017,7 @@
       adapter->SubmitRequest(headers1, std::move(body1), nullptr);
   ASSERT_GT(stream_id1, 0);
 
-  const std::vector<const Header> headers2 =
+  const std::vector<Header> headers2 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -2048,7 +2048,7 @@
   EXPECT_FALSE(adapter->want_write());
   EXPECT_EQ(0, adapter->GetSendWindowSize());
 
-  const std::vector<const Header> trailers1 =
+  const std::vector<Header> trailers1 =
       ToHeaders({{"extra-info", "Trailers are weird but good?"}});
   adapter->SubmitTrailer(stream_id1, trailers1);
 
@@ -2066,7 +2066,7 @@
 
   testing::InSequence s;
 
-  const std::vector<const Header> headers1 =
+  const std::vector<Header> headers1 =
       ToHeaders({{":method", "GET"},
                  {":scheme", "http"},
                  {":authority", "example.com"},
@@ -2488,7 +2488,7 @@
   int64_t result = adapter->ProcessBytes(frames);
   EXPECT_EQ(frames.size(), static_cast<size_t>(result));
 
-  const std::vector<const Header> headers1 = ToHeaders({{":status", "200"}});
+  const std::vector<Header> headers1 = ToHeaders({{":status", "200"}});
   auto body1 = absl::make_unique<TestDataFrameSource>(visitor, true);
   TestDataFrameSource* body1_ptr = body1.get();
 
diff --git a/http2/adapter/test_frame_sequence.cc b/http2/adapter/test_frame_sequence.cc
index 8cad139..4a99807 100644
--- a/http2/adapter/test_frame_sequence.cc
+++ b/http2/adapter/test_frame_sequence.cc
@@ -9,9 +9,9 @@
 namespace adapter {
 namespace test {
 
-std::vector<const Header> ToHeaders(
+std::vector<Header> ToHeaders(
     absl::Span<const std::pair<absl::string_view, absl::string_view>> headers) {
-  std::vector<const Header> out;
+  std::vector<Header> out;
   for (const auto& header : headers) {
     out.push_back(
         std::make_pair(HeaderRep(header.first), HeaderRep(header.second)));
diff --git a/http2/adapter/test_frame_sequence.h b/http2/adapter/test_frame_sequence.h
index 9b630c0..88f0af9 100644
--- a/http2/adapter/test_frame_sequence.h
+++ b/http2/adapter/test_frame_sequence.h
@@ -14,7 +14,7 @@
 namespace adapter {
 namespace test {
 
-std::vector<const Header> QUICHE_NO_EXPORT ToHeaders(
+std::vector<Header> QUICHE_NO_EXPORT ToHeaders(
     absl::Span<const std::pair<absl::string_view, absl::string_view>> headers);
 
 class QUICHE_NO_EXPORT TestFrameSequence {
