      ;; regular imperfect sense
      (and (= (get-in word '(:infl)) :imperfect)
           (get-in word '(:italiano)))
-     (let [infinitive (if (get-in word [:infinitive])
+     (let [infinitive (if (get-in word [:infinitive]) ;; imperfect
                         (get-in word [:infinitive])
                         (get-in word [:italiano]))
            ;; e.g.: lavarsi => lavare

                lexeme))
        (get lexicon surface-form))))

(defn exception-generator [lexicon]
  (reduce
   concat

     (and
      (= (get-in word '(:infl)) :present)
      (string? (get-in word '(:italiano))))
     (let [infinitive (if (get-in word [:infinitive]) ;; regular present tense
                        (get-in word [:infinitive])
                        (get-in word [:italiano]))
           ;; e.g.: lavarsi => lavare
