(ns week1.generators
  (import [java.util Random]))

(defn integers_gen [] (.nextInt (Random.))) 
  
(defn booleans_gen [] (> 0 (integers_gen)))

(defn pairs_gen [] (take 2 (repeatedly integers_gen)))

(defn choose_gen [lo hi] (+ lo (mod (integers_gen) (- hi lo))))

(defn oneOf_gen [& cs] (nth cs (choose_gen 0 (count cs))))