module Util: sig .. end
Utility functions for problem set 3.
timing
val time : ('a -> 'b) -> 'a -> float
time f x runs f x and returns the time it takes to run (in seconds).
randomization
val rand_list : int -> int -> int list
rand_list n l returns a random list of l integers between 0 and n
val shuffle : 'a list -> 'a list
randomly shuffle a list.
val choice : 'a list -> 'a
randomly select an element from a list
comparisons
type comparison_result = 
type 'a comparator = 'a -> 'a -> comparison_result 
An 'a comparator represents a total order on 'as.
printing
val string_of_list : ('a -> string) -> 'a list -> string
string_of_list f l returns a pretty joining of f invoked on every
    element of l.