                             parents))
               phrasal ;; 2. generate list of all phrases where the head child of each parent is itself a phrase.
               (if (< depth max-total-depth)
-                (reduce concat (map (fn [parent]
+                (reduce concat (pmap (fn [parent]
                                        (over/overh parent (lightning-bolt grammar lexicon (get-in parent [:head])
                                                                           (+ 1 depth) index morph (+ 1 total-depth))))
                                      parents)))]

head of its parent. generate (above) 'decorates' each returned lightning bolt
of this function with complements."
  (if (or (vector? spec) (seq? spec))
    (reduce concat (map (fn [each-spec]
                           (lightning-bolt grammar lexicon each-spec depth index morph total-depth))
                         spec))
    (do

            parents (filter #(not (fail? %)) (map (fn [rule] (unifyc spec rule)) grammar))]
        (let [lexical ;; 1. generate list of all phrases where the head child of each parent is a lexeme.
              (reduce concat
                      (pmap (fn [parent]
                              (if (= false (get-in parent [:head :phrasal] false))
                                (let [candidate-lexemes (get-lex parent :head index spec)]
                                  (over/overh parent
