sig
val init : int -> (int -> 'a) -> 'a list
val nb_distinct : 'a list -> int
val merge_lists : ('a -> 'a -> int) -> 'a list list -> 'a list
val max : ('a -> 'a -> bool) -> 'a list -> 'a
val iteri : (int -> 'a -> 'b) -> 'a list -> unit
val dedoublonne : 'a list -> 'a list
val stable_dedoublonne : 'a list -> 'a list
val stable_dedoublonne_fast : 'a list -> 'a list
end