sig
  val init : int -> (int -> 'a) -> 'a list
  val nb_distinct : 'a list -> int
  val merge_lists : ('-> '-> int) -> 'a list list -> 'a list
  val max : ('-> '-> bool) -> 'a list -> 'a
  val iteri : (int -> '-> '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