The implementation of `ResponseHeader.unapply` will throw an NPE if `o` is `null`.  Not sure if we care though... do case classes usually check for `null` in their `equals` method?  Or in the `unapply` method?