     (filter (fn [complement]
               (if (fail? complement)
                 (do
-                  (log/debug (str "add-complement(depth=" depth ",total-depth=" total-depth
+                  (log/trace (str "add-complement(depth=" depth ",total-depth=" total-depth
                                   ",path=" path ",bolt=(" (show-bolt bolt path morph) ") FAILED:"
                                   "'" (morph complement) "'"))
                   
                   false)
                 (do
-                  (log/debug (str "add-complement(depth=" depth ",total-depth=" total-depth
+                  (log/trace (str "add-complement(depth=" depth ",total-depth=" total-depth
                                   ",path=" path ",bolt=(" (show-bolt bolt path morph) ")=>"
                                   "'" (morph complement) "'"))
                   true)))

            (lazy-cat phrasal lexical)))))))

(defn add-complement [bolt path spec grammar lexicon cache morph depth total-depth]
  (let [input-spec spec
        from-bolt bolt ;; so we can show what (add-complement) did to the input bolt, for logging.
        spec (unifyc spec (get-in bolt path))

                   (unify (copy bolt)
                          (path-to-map path
                                       (copy complement))))
                 (let [debug (log/trace (str "add-complement(depth=" depth ",total-depth=" total-depth
                                             ",path=" path ",bolt=(" (show-bolt bolt path morph)
                                             "): calling generate-all(" (strip-refs spec) ");"
                                             "input-spec: " input-spec))
