> As with the factories I'm concerned about the standardization of something that is very much an implementation detail. Interfaces are for public functionality and enforcing rules about how libraries internally represent something like an entity body doesn't seem appropriate for a standard.

@rdlowrey How do you know how to work with the entity body that's returned by the Request or Response then, if it's not a well-known interface? Say I have an arbitrary Response returned by some library, and want to write its body to a file. How do I know how to deal with the body if it doesn't implement a proper interface?