   (and (= :past (get-in word '(:infl)))
        (get-in word '(:passato))))
 
-
 (defn suffix-of [word]
   "compute the final character given a lexical entry and agreement info in :agr."
   ;; TODO: convert to .edn

    (irregular-passato? word)
    (irregular-passato word)
    
    (irregular-passato? word)
    (irregular-passato word)
    
    (= :past (get-in word '(:infl)))
    (regular-passato word)
    
    (and
     (= (get-in word '(:infl)) :present)
     (map? (get-in word '(:present)))
     (not (nil? (irregular-present word))))
    (irregular-present word)
    
    (= (get-in word '(:infl)) :present)
    (regular-present word)
    
    (irregular-gerund? word)

                  :agr {:number :plur
                        :person :3rd}}})}])

(defn irregular [word exception-map]
  (let [person (get-in word [:agr :person])
        number (get-in word [:agr :number])]
    (cond
      (and (= person :1st) (= number :sing)
           (get-in exception-map [:1sing]))
