Ruby metaprogramming magic

Some Rack Adapters expose the underlying IO object in their request and response bodies, others don't.
IO.try_convert for instance looks for .to_io and uses it for its magic.

If there is a nicer way to do it i haven't found it, yet ^^