            random-seed (System/nanoTime)   
            use-historically-assessed-hardness false    
            use-lexicase-selection false    
+           use-fast-lexicase-selection false
            }}]
   (binding [*thread-local-random-generator* (java.util.Random. random-seed)]
     ;; set globals from parameters


;; Lexicase Parent Selection (see Spector paper in GECCO-UP 2012 workshop proceedings)
(def global-use-lexicase-selection (atom false)) ;; if true then no other selection params matter

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; random code generator

                                          (int (* decimation-ratio population-size))
                                          decimation-tournament-size 
                                          trivial-geography-radius)]
                        (if use-fast-lexicase-selection (setup-fast-lexicase-selection pop))
                        (dotimes [i population-size]
                          ((if use-single-thread swap! send)
                               (nth child-agents i) 
