   (let [person (get-in word '(:agr :person))
         number (get-in word '(:agr :number))]
     (cond
-      (and (string? (get-in word '(:a)))
-           (string? (get-in word '(:b))))
-      (get-string (get-in word '(:a))
-                  (get-in word '(:b)))
-      (and (string? (get-in word '(:a)))
-           (map? (get-in word '(:b))))
-      (get-string (get-in word '(:a))
-                  (get-in word '(:b)))
-      (and (map? (get-in word '(:a)))
-           (map? (get-in word '(:b))))
+      (and (string? (get-in word [:a]))
+           (string? (get-in word [:b])))
+      (get-string (get-in word [:a])
+                  (get-in word [:b]))
+      (and (string? (get-in word [:a]))
+           (map? (get-in word [:b])))
+      (get-string (get-in word [:a])
+                  (get-in word [:b]))
+      (and (map? (get-in word [:a]))
+           (map? (get-in word [:b])))
       (get-string
        (get-string (get-in word [:a]))
        (get-string (get-in word [:b])))

     (str (get-in word '(:italiano)))

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

     (= (get-in word '(:a)) :top)
     (str
      ".." " " (get-string-1 (get-in word '(:b))))

     (and
      (= (get-in word '(:b)) :top)
      (string? (get-string-1 (get-in word '(:a)))))
     (str
      (get-string-1 (get-in word '(:a)))
      " " "..")

     (and
      (= (get-in word '(:b)) :top)
      (string? (get-in word '(:a :italiano))))
     (str
      (get-string-1 (get-in word '(:a :italiano)))

      (get-in word '(:italiano))

      (and
       (get-in word [:a])
       (get-in word [:b]))
      (str
       (trim (get-string-1 (get-in word [:a]))) " "
       (trim (get-string-1 (get-in word [:b]))))
     
     (and
      (string? (get-in word '(:italiano)))
