     (= :past (get-in word '(:infl)))
     (regular-passato word)
     
-    (irregular-present-1sing? word)
-    (irregular-present-1sing word)
-    
-    (irregular-present-2sing? word)
-    (irregular-present-2sing word)
-    
-    (irregular-present-3sing? word)
-    (irregular-present-3sing word)
-    
-    (irregular-present-1plur? word)
-    (irregular-present-1plur word)
-    
-    (irregular-present-2plur? word)
-    (irregular-present-2plur word)
-    
-    (irregular-present-3plur? word)
-    (irregular-present-3plur 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)

    (= (get-in word [:infl]) :conditional)
    (regular-conditional word)
    
    (irregular-imperfect-1sing? word)
    (irregular-imperfect-1sing word)
    
    (irregular-imperfect-2sing? word)
    (irregular-imperfect-2sing word)

    (irregular-imperfect-3sing? word)
    (irregular-imperfect-3sing word)
    
    (irregular-imperfect-1plur? word)
    (irregular-imperfect-1plur word)
    
    (irregular-imperfect-2plur? word)
    (irregular-imperfect-2plur word)
    
    (irregular-imperfect-3plur? word)
    (irregular-imperfect-3plur word)
    
    (= (get-in word [:infl]) :imperfect)
    (regular-imperfect word)

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

(defn irregular-passato? [word]
  (and (= :past (get-in word '(:infl)))
       (get-in word '(:passato))
       (get-in word '(:essere) true)
