type 'a t
= 'a IO_lwt.t
val return : 'a -> 'a t
module Infix : sig ... end
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
val (>|=) : 'a t -> ('a -> 'b) -> 'b t
type lock
= IO_lwt.lock
val create_lock : unit -> lock
val with_lock : lock -> (unit -> 'a t) -> 'a t
type in_channel
= IO_lwt.in_channel
type out_channel
= IO_lwt.out_channel
val read_line : in_channel -> (string, exn) Pervasives.result t
val read_exact : in_channel -> bytes -> int -> (unit, exn) Pervasives.result t
val write_string : out_channel -> string -> (unit, exn) Pervasives.result t