sig
type ('a, 'b, 'c) t =
('b * 'a) Cf_seq.t -> ('c * ('b * 'a) Cf_seq.t) option
constraint 'a = 'd #Cf_parser.cursor
val weave :
c:('b #Cf_parser.cursor as 'a) -> 'b Cf_seq.t -> ('b * 'a) Cf_seq.t
val sat : ('a -> bool) -> ('b #Cf_parser.cursor, 'a, 'a) Cf_parser.X.t
val tok : ('a -> 'b option) -> ('c #Cf_parser.cursor, 'a, 'b) Cf_parser.X.t
val lit : string -> 'a -> ('b #Cf_parser.cursor, char, 'a) Cf_parser.X.t
val unfold :
('b #Cf_parser.cursor as 'a, 'c, 'd) Cf_parser.X.t ->
('c * 'a) Cf_seq.t -> ('d * 'a) Cf_seq.t
end