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