Make.1-Configmodule IO_run : sig ... endmodule IO_flush : sig ... endval flush : unit -> unit IO_flush.tFlush whatever need to be to get pending output out on file descriptor 0.
val run : (unit -> unit IO_run.t) -> unitRun an IO operation until completion
Synchronous check that there is no pending output on file description 0. With async, there is no guarantee that on the rhs of a IO.bind (flush ()) ... the output is completely flushed, that's why we need this.