                       :b (get-in word '(:b :b))}})
    (and
     (get-in word '(:a))
-    (get-in word '(:b))
-    (string? (get-in word '(:a)))
-    (string? (get-in word '(:b))))
-   (join " "
-         (list (get-in word '(:a))
-               (get-in word '(:b))))
-
-   (and
-    (get-in word '(:a))
     (get-in word '(:b)))
    (join " "
-         (list (fo (get-in word '(:a)))
-               (fo (get-in word '(:b)))))
+         (list (get-string (get-in word '(:a)))
+               (get-string (get-in word '(:b)))))
 
    ;; TODO: this seems wrong: how could :infl == :english?
    (and (= :english (get-in word '(:infl)))

   (get-in word '(:english))

   (= true (get-in word '(:hidden)))
;;   "Ø"
   ""
   (and
    (= true (get-in word '(:a :hidden)))
    (= true (get-in word '(:b :hidden))))
;;   "Ø"
   ""
   (= true (get-in word '(:a :hidden)))
   (get-string (get-in word '(:b)))


   (and (map? input)
        (get-in input [:english]))
   (get-string input)

   (or (seq? input)
       (vector? input))
