type 's scheduler = {bind : 'a 'b. ('a, 's) io -> ('a -> ('b, 's) io) -> ('b, 's) io;return : 'a. 'a -> ('a, 's) io;
}type ('f, 's, 'e) seek = {lseek : 'f -> int -> [ `SET | `CUR | `END ] -> ((int, 'e) result, 's) io;
}module type X = sig ... endmodule type IFLOW = sig ... endmodule type OFLOW = sig ... end