sig
type 'a t
val create :
?random_state:Core.Std.Random.State.t -> int -> 'a Random_selection.t
val desired_sample_size : 'a Random_selection.t -> int
val maybe_add : 'a Random_selection.t -> 'a -> unit
val to_list : 'a Random_selection.t -> 'a list
val select :
?random_state:Core.Std.Random.State.t ->
next:(unit -> 'a option) -> int -> 'a list
val ounit_tests : unit -> OUnit.test
end