            bolts))
 
         expressions
-        (-> (lightning-bolt (lazy-shuffle grammar)
+        (-> (lightning-bolt grammar
                             lexicon
                             spec 0 index morph total-depth)
             ;; TODO: allow more than a fixed maximum depth of generation (here, 4 levels from top of tree).

                                        ref? remove-false remove-top-values-log
                                        strip-refs show-spec unify unifyc)]))
;; during generation, will not search deeper than this:
(def ^:const max-total-depth 5)
(def ^:const mapfn pmap)

(declare add-complement)

              (mapcat (fn [parent]
                        (if (= false (get-in parent [:head :phrasal] false))
                          (let [candidate-lexemes (get-lex parent :head index spec)
                                results (over/overh parent (mapfn copy candidate-lexemes))]
                            (log/debug (str "lightning-bolt: " (get-in parent [:rule]) ": candidate head lexemes:'"
                                            (string/join "','" (map morph candidate-lexemes)) "'"))
                            results)))
