So looking at the MRI source, it turns out that `IO.copy_stream` raises an error when passed an offset when the source IO isn't backed by a file descriptor. Adjusting behaviour on this also.