Why not just instantiate CID directly? I think that was left over from the old implementation of CID, but the new CID's constructor acts just like `dict`.

```python
self.headers = CaseInsensitiveDict((to_native_string(name), value) for name, value in headers.items())
```