String -> ByteString -mtl +http
setRequestVersion v req returns a new request, identical to req, but with its HTTP version set to v.
setResponseVersion v rsp returns a new response, identical to rsp, but with its HTTP version set to v.
insertHeader hdr val x inserts a header with the given header name and value. Does not check for existing headers with same name, allowing duplicates to be introduce (use replaceHeader if you want to avoid this.)
insertHeaderIfMissing hdr val x adds the new header only if no previous header with name hdr exists in x.
replaceHeader hdr val o replaces the header hdr with the value val, dropping any existing