type 'a t = | Nil| Cons of 'a * unit -> 'a t
val append : 'a t -> (unit -> 'a t) -> 'a tval append_mix : 'a t -> (unit -> 'a t) -> 'a tval map : ('a -> 'b) -> 'a t -> 'b tval mapi : ('a -> int -> 'b) -> 'a t -> 'b tval iter : ('a -> unit) -> 'a t -> unitval filter_map : ('a -> 'b option) -> 'a t -> 'b tval fold_left : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'aval fold_right : ('b -> 'a -> 'a) -> 'b t -> 'a -> 'aval join : 'a t t -> 'a tval join_mix : 'a t t -> 'a tval bind_mix : ('a -> 'b t) -> 'a t -> 'b tval from_list : 'a list -> 'a t