sig
  type position = BatCharParser.position = { offset : int; line : int; }
  val advance :
    BatCamomile.UChar.t -> BatUCharParser.position -> BatUCharParser.position
  val source_of_rope :
    BatRope.t ->
    (BatCamomile.UChar.t, BatUCharParser.position) BatParserCo.Source.t
  val source_of_enum :
    BatCamomile.UChar.t BatEnum.t ->
    (BatCamomile.UChar.t, BatUCharParser.position) BatParserCo.Source.t
  val parse :
    (BatCamomile.UChar.t, 'a, BatUCharParser.position) BatParserCo.t ->
    BatRope.t ->
    ('a, BatUCharParser.position BatParserCo.report) BatStd.result
  val char :
    BatCamomile.UChar.t ->
    (BatCamomile.UChar.t, BatCamomile.UChar.t, BatUCharParser.position)
    BatParserCo.t
  val none_of :
    BatCamomile.UChar.t list ->
    (BatCamomile.UChar.t, BatCamomile.UChar.t, BatUCharParser.position)
    BatParserCo.t
  val not_char :
    BatCamomile.UChar.t ->
    (BatCamomile.UChar.t, BatCamomile.UChar.t, BatUCharParser.position)
    BatParserCo.t
  val string :
    string ->
    (BatCamomile.UChar.t, string, BatUCharParser.position) BatParserCo.t
  val rope :
    BatRope.t ->
    (BatCamomile.UChar.t, BatRope.t, BatUCharParser.position) BatParserCo.t
  val ustring :
    BatUTF8.t ->
    (BatCamomile.UChar.t, BatUTF8.t, BatUCharParser.position) BatParserCo.t
  val case_char :
    BatCamomile.UChar.t ->
    (BatCamomile.UChar.t, BatUTF8.t, BatUCharParser.position) BatParserCo.t
  val case_string :
    string ->
    (BatCamomile.UChar.t, string, BatUCharParser.position) BatParserCo.t
  val case_ustring :
    BatUTF8.t ->
    (BatCamomile.UChar.t, BatUTF8.t, BatUCharParser.position) BatParserCo.t
  val case_rope :
    BatRope.t ->
    (BatCamomile.UChar.t, BatRope.t, BatUCharParser.position) BatParserCo.t
  val newline :
    (BatCamomile.UChar.t, BatCamomile.UChar.t, BatUCharParser.position)
    BatParserCo.t
  val whitespace :
    (BatCamomile.UChar.t, BatCamomile.UChar.t, BatUCharParser.position)
    BatParserCo.t
  val uppercase :
    (BatCamomile.UChar.t, BatCamomile.UChar.t, BatUCharParser.position)
    BatParserCo.t
  val lowercase :
    (BatCamomile.UChar.t, BatCamomile.UChar.t, BatUCharParser.position)
    BatParserCo.t
  val letter :
    (BatCamomile.UChar.t, BatCamomile.UChar.t, BatUCharParser.position)
    BatParserCo.t
  val digit :
    (BatCamomile.UChar.t, BatCamomile.UChar.t, BatUCharParser.position)
    BatParserCo.t
  val hex :
    (BatCamomile.UChar.t, BatCamomile.UChar.t, BatUCharParser.position)
    BatParserCo.t
end