`flush` previously only waited until the data had been taken out of the buffer (i.e. received by the underlying flow), but did not wait for it to be transmitted. See https://github.com/ocaml-multicore/eio/issues/527.