functor (M : Definition->   sig     val feed :       (char, BatCharParser.position) BatParserCo.Source.t ->       (BatGenlex.token, BatCharParser.position) BatParserCo.Source.t     val start : (char, unit, BatCharParser.position) BatParserCo.t     val ident : (char, string, BatCharParser.position) BatParserCo.t     val kwd : (char, string, BatCharParser.position) BatParserCo.t     val identifier :       string -> (char, unit, BatCharParser.position) BatParserCo.t     val keyword :       string -> (char, unit, BatCharParser.position) BatParserCo.t     val char_literal : (char, char, BatCharParser.position) BatParserCo.t     val string_literal : (char, string, BatCharParser.position) BatParserCo.t     val integer : (char, int, BatCharParser.position) BatParserCo.t     val float : (char, float, BatCharParser.position) BatParserCo.t     val number :       (char, [ `Float of float | `Integer of int ], BatCharParser.position)       BatParserCo.t     val char : char -> (char, char, BatCharParser.position) BatParserCo.t     val string :       string -> (char, string, BatCharParser.position) BatParserCo.t     val line_comment : (char, unit, BatCharParser.position) BatParserCo.t     val multiline_comment :       (char, unit, BatCharParser.position) BatParserCo.t     val comment : (char, unit, BatCharParser.position) BatParserCo.t     val whitespaces : (char, unit, BatCharParser.position) BatParserCo.t   end