# Module PGOCaml.Simple_thread

    module Simple_thread: PGOCaml_generic.THREAD
      with type 'a t = 'a

    type 'a t

    val return : 'a -> 'a t

    val (>>=) : 'a t ->
           ('a -> 'b t) -> 'b t

    val fail : exn -> 'a t

    val catch : (unit -> 'a t) ->
           (exn -> 'a t) -> 'a t

    type in_channel

    type out_channel

    val open_connection : Unix.sockaddr ->
           (in_channel * out_channel)
           t

    val output_char : out_channel -> char -> unit t

    val output_binary_int : out_channel -> int -> unit t

    val output_string : out_channel -> string -> unit t

    val flush : out_channel -> unit t

    val input_char : in_channel -> char t

    val input_binary_int : in_channel -> int t

    val really_input : in_channel ->
           Bytes.t -> int -> int -> unit t

    val close_in : in_channel -> unit t