sig
val with_interprocess_protect : (((unit -> 'a) -> 'a) -> 'b) -> 'b
val with_interprocess_raise_and_okay :
((exn -> unit) -> (unit -> unit) -> 'b) -> 'b
type 'a read_end
type 'a write_end
exception Dead
val create : unit -> 'a IVar.read_end * 'a IVar.write_end
val read : 'a IVar.read_end -> 'a option
val write : 'a IVar.write_end -> 'a -> unit
val close : 'a IVar.write_end -> unit
end