Module Gadt_lib.Vect

type ('el, 'n) t =
| [] : ( 'el, Peano.zero ) t
| :: : 'el * ( 'el, 'n ) t -> ( 'el, 'n Peano.succ ) t
val is_empty : 'n. ( 'a, 'n ) t -> bool
val to_list : 'n. ( 'a, 'n ) t -> 'a list
val map : 'n. f:( 'a -> 'b ) -> ( 'a, 'n ) t -> ( 'b, 'n ) t
val map2 : 'n. f:( 'a -> 'b -> 'c ) -> ( 'a, 'n ) t -> ( 'b, 'n ) t -> ( 'c, 'n ) t
val fold : 'n. init:'b -> f:( 'b -> 'a -> 'b ) -> ( 'a, 'n ) t -> 'b
val fold_map : 'n. init:'b -> f:( 'b -> 'a -> 'b * 'c ) -> ( 'a, 'n ) t -> 'b * ( 'c, 'n ) t
module Quickcheck_generator : sig ... end