Ruby metaprogramming magic

Some Rack Adapters expose the underlying IO object in their request and response bodies, others don't.

IO.copy_stream for instance looks for .to_io and uses it for its magic.