sig
val time : ('a -> 'b) -> 'a -> float
val rand_list : int -> int -> int list
val shuffle : 'a list -> 'a list
val choice : 'a list -> 'a
type comparison_result = Lt | Eq | Gt
type 'a comparator = 'a -> 'a -> Util.comparison_result
val string_of_list : ('a -> string) -> 'a list -> string
end