`sig class type ['a] obj_input_channel = object method close_in : unit -> unit method get : unit -> 'a end class type ['a] obj_output_channel = object method close_out : unit -> unit method flush : unit -> unit method put : 'a -> unit end class ['a] channel_of_stream : 'a Stream.t -> ['a] obj_input_channel val stream_of_channel : 'a #CamomileLibrary.Type.OOChannel.obj_input_channel -> 'a Stream.t class type char_input_channel = object method close_in : unit -> unit method input : string -> int -> int -> int end class type char_output_channel = object method close_out : unit -> unit method flush : unit -> unit method output : string -> int -> int -> int end class char_input_channel_of : char #CamomileLibrary.Type.OOChannel.obj_input_channel -> char_input_channel class char_obj_input_channel_of : CamomileLibrary.Type.OOChannel.char_input_channel -> [char] obj_input_channel class char_output_channel_of : char #CamomileLibrary.Type.OOChannel.obj_output_channel -> char_output_channel class char_obj_output_channel_of : CamomileLibrary.Type.OOChannel.char_output_channel -> [char] obj_output_channel class of_in_channel : Pervasives.in_channel -> char_input_channel class of_out_channel : Pervasives.out_channel -> char_output_channel end`