   (log/trace (str "candidate-parents: spec: " (strip-refs spec)))
   (filter #(not (fail? %))
           (mapfn (fn [rule]
-                   (log/debug (str "candidate-parents: rule: " (:rule rule)))
+                   (log/trace (str "candidate-parents: rule: " (:rule rule)))
                    (if (and (not (fail? (unifyc (get-in rule [:synsem :cat] :top)
                                                 (get-in spec [:synsem :cat] :top))))
                             (not (fail? (unifyc (get-in rule [:synsem :infl] :top)

                    & {:keys [max-total-depth truncate-children]
                       :or {max-total-depth max-total-depth
                            truncate-children true}}]
  (log/debug (str "generate-all: spec:" (strip-refs spec)))
  
  (let [language-model (if (future? language-model) @language-model language-model)
        total-depth (if total-depth total-depth 0)]

there is only one child for each parent, and that single child is the
head of its parent. generate (above) 'decorates' each returned lightning bolt
of this function with complements."
  (log/trace (str "lightning-bolts(depth=" depth
                 "; total-depth=" total-depth
                 "; max-total-depth=" max-total-depth
                 "; spec info:" (spec-info spec) ")"))
