NeList
type +'a t
Non-empty lists
val head : 'a t -> 'a
val tail : 'a t -> 'a t option
val singleton : 'a -> 'a t
val iter : ('a -> unit) -> 'a t -> unit
val map : ('a -> 'b) -> 'a t -> 'b t
val map2 : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c t
val map_head : ('a -> 'a) -> 'a t -> 'a t
val push : 'a -> 'a t option -> 'a t
val to_list : 'a t -> 'a list
val of_list : 'a list -> 'a t
May raise Invalid_argument
val repr : 'a t -> 'a * 'a list
val of_repr : ('a * 'a list) -> 'a t