                             (log/debug (str " agr@" path " = " (strip-refs (get-in bolt (concat path [:synsem :agr]))))))
                           complement-candidate-lexemes))))
             (do (log/debug (str "add-complement after adding complement: "
-                                (try
-                                  (morph return-val)
-                                  (catch Exception e
-                                    "(exception caught)"))))
+                                (string/join ","
+                                             (map (fn [each]
+                                                    (wrapped-morph morph each))
+                                                  return-val))))
                 return-val))))
 
       ;; path doesn't exist in bolt: simply return the bolt unmodified.

                                                  result))))
                          (if (empty? result)
                            (log/warn (str "failed to attach any lexemes to: " (get-in parent [:rule])))
                            (log/debug (str "results of attaching lexemes to: " (get-in parent [:rule]) ":"
                                            (string/join ","
                                                         (map #(wrapped-morph morph %1)
                                                              result)))))


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

(defn show-as-tree [structure language-feature]
  (cond
    (and (map? structure)
         (or (get-in structure [:a])
             (get-in structure [:b])))
    (str "[" (get-in structure [:rule]) " "
         (show-as-tree (get-in structure [:a]) language-feature)
         " "
         (show-as-tree (get-in structure [:b]) language-feature)
         "]")

    (and (map? structure)
         (get-in structure [language-feature])
         (empty? (get-in structure [language-feature])))
    (str "'" "--" "'")

    (and (map? structure)
         (get-in structure [language-feature]))
    (str "'" (get-in structure [language-feature]) "'")

    true
    (str "??:" structure)))

(defn wrapped-morph [morph-fn structure]
  (if morph-fn
