This is just a passthrough wrapper for each body type that selects the body type (parser) on request construct, based on the parsed request header. On the response the body is the response content (typed by the responder, including header content-type) and on writer construct the body serializer is selected for emitting the object. So we can pass around this single type which at almost no runtime cost passes through to a single contained type with parser/serializer automatically selected based on declared content-type.