this does mean one more alloc per connection (not per stream), but I think it is worth it, as it simplifies the task of continuation which is reused between headers and push promise frames.