sig
  val time : ('-> 'b) -> '-> 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 = '-> '-> Util.comparison_result
  val string_of_list : ('-> string) -> 'a list -> string
end