sig   type position = { offset : int; line : int; }   val advance : char -> BatCharParser.position -> BatCharParser.position   val source_of_string :     string -> (char, BatCharParser.position) BatParserCo.Source.t   val source_of_enum :     char BatEnum.t -> (char, BatCharParser.position) BatParserCo.Source.t   val parse :     (char, 'a, BatCharParser.position) BatParserCo.t ->     string ->     ('a, BatCharParser.position BatParserCo.report) BatPervasives.result   val char : char -> (char, char, BatCharParser.position) BatParserCo.t   val none_of :     char list -> (char, char, BatCharParser.position) BatParserCo.t   val not_char : char -> (char, char, BatCharParser.position) BatParserCo.t   val string : string -> (char, string, BatCharParser.position) BatParserCo.t   val case_char : char -> (char, char, BatCharParser.position) BatParserCo.t   val case_string :     string -> (char, string, BatCharParser.position) BatParserCo.t   val newline : (char, char, BatCharParser.position) BatParserCo.t   val whitespace : (char, char, BatCharParser.position) BatParserCo.t   val uppercase : (char, char, BatCharParser.position) BatParserCo.t   val lowercase : (char, char, BatCharParser.position) BatParserCo.t   val letter : (char, char, BatCharParser.position) BatParserCo.t   val uppercase_latin1 : (char, char, BatCharParser.position) BatParserCo.t   val lowercase_latin1 : (char, char, BatCharParser.position) BatParserCo.t   val latin1 : (char, char, BatCharParser.position) BatParserCo.t   val digit : (char, char, BatCharParser.position) BatParserCo.t   val hex : (char, char, BatCharParser.position) BatParserCo.t end