I think that the value should be allowed to be anything that supports the __toString() method. I'm not sure if the string argument type adequately allows that. This would be important for clients that have more complex header objects (e.g. Guzzle, ZF, etc).