 ;; TODO: use replace patterns instead (as with French)
 ;; TODO: split into morphology/verb function, morphology/noun function, etc.
 (defn get-string-1 [word]
-  (if (seq? word)
-    (map (string/join " " #(get-string-1 %))
-         word)
   (let [person (get-in word '(:agr :person))
         number (get-in word '(:agr :number))]
-    (log/trace "get-string-1: input word: " word)
-
-    (log/debug (str "word's a is a string? " (get-in word '(:a)) " => " (string? (get-in word '(:a)))))
-    (log/debug (str "word's b is a map? " (get-in word '(:b)) " => " (map? (get-in word '(:b)))))
-
-    (log/debug (str "word's a italian is a string? " (get-in word '(:a :italiano)) " => " (string? (get-in word '(:a :italiano)))))
-
     (cond
-
-     (= word :top) ".."
-
-     (ref? word)
-     (get-string-1 @word)
-
-     ;; TODO: this is a special case that should be handled below instead
-     ;; of forcing every input to go through this check.
-     (= word {:initial false})
-     ".."
-     (= word {:initial true})
-     ".."
 
      (and (string? (get-in word '(:a)))
           (string? (get-in word '(:b))))

     (get-string
      (get-in word '(:a))
      (get-in word '(:b)))

     ;; TODO: this rule is pre-empting all of the following rules
     ;; that look in :a and :b. Either remove those following rules

          (string? (get-in word '(:italiano))))
     (get-in word '(:italiano))

     (and
      (get-in word '(:a))
      (get-in word '(:b)))
