@morrisonlevi I'm not sure about this PSR as a whole, but this very interface we're discussing here is a mandatory part of `Message`, `Request` and `Response`: even a naive implementation needs to be able to handle a simple HTTP request of 1KB as well as a streamable  S3 file of 2GB (without loading it in memory), just like @mtdowling pointed already. Hence the interface.