All `headers()` is doing is translating a call to `$request->headers('Content-Type')` into `$_SERVER['CONTENT_TYPE']` and calls to `$response->headers('Arbitrary-Header')` into `$_SERVER['HTTP_ARBITRARY_HEADER']`.

It could utilize `$this->env()`, but if you're looking to retrieve the actual headers received in the request via `$request->headers()` I think you'd want the unadulterated response from `$_SERVER` rather than using any magic from `$this->env()` to fill in defaults.

A call to `$this->env('HTTP_HOST')` will return a default value even if there was no `Host` header sent in the request.  I think this is what differentiates `header()` from being a mere proxy for `env()`.

But, I'm open to more input on it, if you guys think that's a confusing policy.

I mainly implemented `headers()` so that I can do a `$request->to('string')` for some of my debugging and retrieve a close approximation of the actual request received by the web host.