The problem with doing that is that `TreeMap` doesn't implement `CaseInsensitiveMap`... you'd also have to provide an implementation.  Also, as the PR currently stands, the use of the `TreeMap` is an internal implementation detail, from the outside, it's just `Map`.  If we declared it to be publicly a `CaseInsensitiveMap`, we would probably have to implement every method that returns `Map` to return the more specific `CaseInsensitiveMap` type, otherwise we'd break a lot of existing source code, like:

```scala
response.copy(headers = response.headers - "Some-Header")
```

This works now because the type is `Map`, and `Map.-` returns `Map`.  If the type of headers was a sub type of `Map` that we had defined ourselves, then it would only work if we defined our own `-` method to return our specific sub type.