It seems like the handling of `default_headers` is suboptimal.  A user
that wants to add their own header, such as an `X-Request-ID` or sudo
headers, for instance, needs to also pass an `Accept` header.  What do
you think about special-casing the logic here to mix in user-supplied
default headers with the default...?