     (log/trace (str "lexemes-before-phrases: depth=" depth " => " result))
     result))
 
-(defn show-bolt [bolt path]
+(defn show-bolt [bolt path morph]
   (if (not (empty? path))
     (str (get-in bolt [:rule])
-         (let [rest-str (show-bolt (get-in bolt [:head]) (rest path))]
+         " '" (morph bolt) "' "
+         (let [rest-str (show-bolt (get-in bolt [:head]) (rest path) morph)]
            (if (not (nil? rest-str))
              (str " -> " rest-str)))))) 

                (if (fail? complement)
                  true
                  (do
                    (log/debug (str "add-complement(depth=" depth ",path=" path ",bolt=(" (show-bolt bolt path) ")=>"
                                    "'" (morph complement) "'"))
                    false)))
              (map (fn [complement]
                     (unify (copy bolt)
                            (path-to-map path
                                         (copy complement))))
                   (let [phrasal-complements (generate-all spec grammar lexicon cache morph)]
                     (if (lexemes-before-phrases depth)
                       (lazy-cat shuffled-candidate-lexical-complements phrasal-complements)
                       (lazy-cat phrasal-complements shuffled-candidate-lexical-complements))))))))

                               [%])
                            bolts))]
              (-> (lightning-bolt (lazy-shuffle grammar)
                                  lexicon
                                  spec 0 index morph)
                  ;; TODO: allow more than a fixed maximum depth of generation (here, 4 levels from top of tree).
                  (add-complements-to-bolts [:head :head :head :comp])
                  (add-complements-to-bolts [:head :head :comp])
