I have mixed feelings about this. This optimization that adds potential for bugs (we may want to share this class with HTTP/1.1 which is case preserving) but little performance benefit.

Particularly since we don't get runtime enforcement that the bytestrings are actually lowercase. I can imagine somehow getting a header that mostly works but doesn't.