sig   class type ['a] obj_input_channel =     object method close_in : unit -> unit method get : unit -> 'end   class type ['a] obj_output_channel =     object       method close_out : unit -> unit       method flush : unit -> unit       method put : '-> unit     end   class ['a] channel_of_stream : 'Stream.t -> ['a] obj_input_channel   val stream_of_channel :     '#CamomileLibrary.OOChannel.obj_input_channel -> '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.OOChannel.obj_input_channel -> char_input_channel   class char_obj_input_channel_of :     CamomileLibrary.OOChannel.char_input_channel -> [char] obj_input_channel   class char_output_channel_of :     char #CamomileLibrary.OOChannel.obj_output_channel -> char_output_channel   class char_obj_output_channel_of :     CamomileLibrary.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