`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`