sig
  type ('a, 'b) t
  val get_state : ('a, 'b) BatParserCo.Source.t -> 'b BatParserCo.state
  val set_full_state :
    ('a, 'b) BatParserCo.Source.t ->
    'c -> ('a -> 'c -> 'c) -> ('a, 'c) BatParserCo.Source.t
  val of_enum :
    'a BatEnum.t -> 'b -> ('a -> 'b -> 'b) -> ('a, 'b) BatParserCo.Source.t
end