That might be ok.  I'm not sure whether it makes sense to map the headers or not.  Even providing a partial function that matches on the header name to transform specific header values might not make sense, because you need a way to case insenstively match on the header names anyway.

But `filter`, `filterKeys` and all the `+` and `-` variants, these must maintain the case insensitivity of the map.

I think the reason `TreeMap.map` doesn