sig
  val ( <|> ) :
    ('a, 'b, 'c) BatParserCo.t ->
    ('a, 'b, 'c) BatParserCo.t -> ('a, 'b, 'c) BatParserCo.t
  val ( ~? ) :
    ('a, 'b, 'c) BatParserCo.t -> ('a, 'b option, 'c) BatParserCo.t
  val ( >>= ) :
    ('a, 'b, 'c) BatParserCo.t ->
    ('-> ('a, 'd, 'c) BatParserCo.t) -> ('a, 'd, 'c) BatParserCo.t
  val ( >>> ) :
    ('a, 'b, 'c) BatParserCo.t ->
    ('a, 'd, 'c) BatParserCo.t -> ('a, 'd, 'c) BatParserCo.t
  val ( >:: ) :
    ('a, 'b, 'c) BatParserCo.t ->
    ('a, 'b list, 'c) BatParserCo.t -> ('a, 'b list, 'c) BatParserCo.t
  val ( ~* ) : ('a, 'b, 'c) BatParserCo.t -> ('a, 'b list, 'c) BatParserCo.t
  val ( ~+ ) : ('a, 'b, 'c) BatParserCo.t -> ('a, 'b list, 'c) BatParserCo.t
  val ( ^^ ) :
    ('a, 'b, 'c) BatParserCo.t -> int -> ('a, 'b list, 'c) BatParserCo.t
end