         bolt-spec (get-in bolt path :no-path)
         depth (if depth depth 0)
         spec (unifyc spec bolt-spec)]
-    (log/debug (str "add-complement(depth=" depth ", path=" path ", bolt: ["
-                    (if (map? bolt) (get-in bolt [:rule])) ": '" (morph bolt) "']"))
     (if (not (= bolt-spec :no-path)) ;; check if this bolt has this path in it.
       (let [immediate-parent (get-in bolt (butlast path))
             start-time (current-time)

(defn lexemes-before-phrases [depth]
  ;; takes depth as an argument; make phrases decreasingly likely as depth increases.
  (let [result (> (rand-int (+ 1 depth)) 0)]
    (log/debug (str "lexemes-before-phrases: depth=" depth " => " result))
    result))

;; TODO: add usage of rule-to-lexicon cache (rather than using lexicon directly)

                      (let [candidate-lexemes (get-lex parent :head index spec)]
                        (if (some fail? candidate-lexemes)
                          (exception (str "some candidate lexeme was fail?=true!")))
                        (over/overh parent
                                    (map copy (lazy-shuffle candidate-lexemes))
                                    morph))))
