sig   type separator = [ `CR | `CRLF | `LF | `LS | `NEL | `PS ]   class input :     CamomileLibrary.ULine.separator ->     CamomileLibrary.UChar.t #CamomileLibrary.OOChannel.obj_input_channel ->     [CamomileLibrary.UChar.t] OOChannel.obj_input_channel   class output :     CamomileLibrary.ULine.separator ->     CamomileLibrary.UChar.t #CamomileLibrary.OOChannel.obj_output_channel ->     [CamomileLibrary.UChar.t] OOChannel.obj_output_channel   module type Type =     sig       type text       class input_line :         CamomileLibrary.UChar.t #CamomileLibrary.OOChannel.obj_input_channel ->         [CamomileLibrary.ULine.Type.text] OOChannel.obj_input_channel       class output_line :         ?sp:CamomileLibrary.ULine.separator ->         CamomileLibrary.UChar.t #CamomileLibrary.OOChannel.obj_output_channel ->         [CamomileLibrary.ULine.Type.text] OOChannel.obj_output_channel     end   module Make :     functor (Text : UnicodeString.Type->       sig         type text = Text.t         class input_line :           UChar.t #OOChannel.obj_input_channel ->           [text] OOChannel.obj_input_channel         class output_line :           ?sp:separator ->           UChar.t #OOChannel.obj_output_channel ->           [text] OOChannel.obj_output_channel       end end