sig
  val ( >|= ) : 'a CCParse.t -> ('a -> 'b) -> 'b CCParse.t
  val ( >>= ) : 'a CCParse.t -> ('a -> 'b CCParse.t) -> 'b CCParse.t
  val ( <*> ) : ('a -> 'b) CCParse.t -> 'a CCParse.t -> 'b CCParse.t
  val ( <* ) : 'a CCParse.t -> 'b CCParse.t -> 'a CCParse.t
  val ( *> ) : 'b CCParse.t -> 'a CCParse.t -> 'a CCParse.t
  val ( <|> ) : 'a CCParse.t -> 'a CCParse.t -> 'a CCParse.t
  val ( <?> ) : 'a CCParse.t -> string -> 'a CCParse.t
end