sig
type ('a, 'b) t
val empty : ('a, 'b) Seplist.t
val cons_sep : 'a -> ('b, 'a) Seplist.t -> ('b, 'a) Seplist.t
val cons_sep_alt : 'a -> ('b, 'a) Seplist.t -> ('b, 'a) Seplist.t
val cons_entry : 'a -> ('a, 'b) Seplist.t -> ('a, 'b) Seplist.t
val is_empty : ('a, 'b) Seplist.t -> bool
val sing : 'a -> ('a, 'b) Seplist.t
val hd : ('a, 'b) Seplist.t -> 'a
val hd_sep : ('a, 'b) Seplist.t -> 'b
val tl : ('a, 'b) Seplist.t -> ('a, 'b) Seplist.t
val tl_alt : ('a, 'b) Seplist.t -> ('a, 'b) Seplist.t
val tl_sep : ('a, 'b) Seplist.t -> ('a, 'b) Seplist.t
val append :
'a -> ('b, 'a) Seplist.t -> ('b, 'a) Seplist.t -> ('b, 'a) Seplist.t
val flatten : 'a -> ('b, 'a) Seplist.t list -> ('b, 'a) Seplist.t
val to_list : ('a, 'b) Seplist.t -> 'a list
val to_pair_list : 'a -> ('b, 'a) Seplist.t -> 'a option * ('b * 'a) list
val from_pair_list :
'a option -> ('b * 'a) list -> 'b option -> ('b, 'a) Seplist.t
val from_pair_list_sym :
'a option -> ('b * 'a) list -> 'b option -> ('a, 'b) Seplist.t
val drop_first_sep : ('a, 'b) Seplist.t -> 'b option * ('a, 'b) Seplist.t
val to_sep_list : ('a -> 'b) -> ('c -> 'b) -> ('a, 'c) Seplist.t -> 'b list
type ('a, 'b) optsep = Optional | Require of 'a | Forbid of ('a -> 'b)
val to_sep_list_first :
('a, 'b) Seplist.optsep ->
('c -> 'b) -> ('a -> 'b) -> ('c, 'a) Seplist.t -> 'b list
val to_sep_list_last :
('a, 'b) Seplist.optsep ->
('c -> 'b) -> ('a -> 'b) -> ('c, 'a) Seplist.t -> 'b list
val to_list_map : ('a -> 'b) -> ('a, 'c) Seplist.t -> 'b list
val iter : ('a -> unit) -> ('a, 'b) Seplist.t -> unit
val from_list : ('a * 'b) list -> ('a, 'b) Seplist.t
val from_list_prefix : 'a -> bool -> ('b * 'a) list -> ('b, 'a) Seplist.t
val from_list_suffix : ('a * 'b) list -> 'b -> bool -> ('a, 'b) Seplist.t
val from_list_default : 'a -> 'b list -> ('b, 'a) Seplist.t
val length : ('a, 'b) Seplist.t -> int
val map : ('a -> 'b) -> ('a, 'c) Seplist.t -> ('b, 'c) Seplist.t
val map_changed :
('a -> 'a option) -> ('a, 'b) Seplist.t -> ('a, 'b) Seplist.t option
val map_acc_right :
('a -> 'b -> 'c * 'b) ->
'b -> ('a, 'd) Seplist.t -> ('c, 'd) Seplist.t * 'b
val map_acc_left :
('a -> 'b -> 'c * 'b) ->
'b -> ('a, 'd) Seplist.t -> ('c, 'd) Seplist.t * 'b
val fold_right : ('a -> 'b -> 'b) -> 'b -> ('a, 'c) Seplist.t -> 'b
val fold_left : ('a -> 'b -> 'b) -> 'b -> ('a, 'c) Seplist.t -> 'b
val for_all : ('a -> bool) -> ('a, 'b) Seplist.t -> bool
val exists : ('a -> bool) -> ('a, 'b) Seplist.t -> bool
val find : 'a -> ('b -> bool) -> ('b, 'a) Seplist.t -> 'b * 'a
val pp :
(Format.formatter -> 'a -> unit) ->
(Format.formatter -> 'b -> unit) ->
Format.formatter -> ('a, 'b) Seplist.t -> unit
val replace_all_seps :
('a -> 'a) -> ('b, 'a) Seplist.t -> ('b, 'a) Seplist.t
end