                         (not (fail? result)))
                       (map (fn [complement]
                              (let [debug (log/debug (str "adding complement to: ["
-                                                         (get-in bolt [:rule]) " "
-                                                         (morph bolt) "]: trying lexical complement:" (morph complement)))
-                                   debug (if (= "" (morph complement))
-                                           (log/error (str "WHY IS IT EMPTY: " complement)))
+                                                         (get-in bolt [:rule]) " '"
+                                                         (morph bolt) "']: "
+                                                         "trying lexical complement:'" (morph complement) "'"))
                                    result
                                    (unify (copy bolt)
                                           (path-to-map path

(def concurrent false)
(declare path-to-map)
(declare add-complement)
(declare add-all-complements-to-bolts)
(declare add-complements-to-bolts)

(declare lightning-bolt)
(declare generate-all)

                )

              ;; else, return-val was not empty.
              (do (log/debug (str "first add-complement after adding complement: "
                                  (morph (first return-val))))
                  return-val)))))

      ;; path doesn't exist in bolt: simply return the bolt unmodified.
      (do
        (list bolt)))))

(defn path-to-map [path val]
  (let [feat (first path)]
