This is fine, but any reason not to just use `io.readable || io.writable`?