Currently, there is fixed logic for different content types. Really, reader_types, or something similar, should allow for the use of a priority option when setting content_type from a format, and use that to remove special-purpose code in default_accept_header.