     (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)))

                   (unify (copy bolt)
                          (path-to-map path
                                       (copy complement))))
                 (let [debug (log/debug (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))

                           (lightning-bolt grammar lexicon each-spec depth index morph total-depth))
                         spec))
    (do
      (log/trace (str "lightning-bolt(depth=" depth ", total-depth=" total-depth "): sem:" (strip-refs (get-in spec [:synsem :sem]))))
      (let [morph (if morph morph (fn [input] (get-in input [:rule] :default-morph-no-rule)))
            depth (if depth depth 0)        
            parents (filter #(not (fail? %)) (map (fn [rule] (unifyc spec rule)) grammar))]
