             [clojure.repl :refer [doc]]
             [clojure.string :as string]
             [clojure.set :as set]
-            [dag_unify.core :refer [copy get-in strip-refs]]))
+            [dag_unify.core :refer [copy get-in strip-refs]]
+            [babel.engine :as engine]))
 
 (deftest analyze-1
   (let [singular (analyze "compito")

            [babel.italiano.morphology :as morph :refer [analyze-regular fo replace-patterns]]
            [babel.italiano.morphology.nouns :as nouns]
            [babel.italiano.morphology.verbs :as verbs]
            [babel.italiano.workbook :refer [analyze generate generate-all parse]]
            [babel.parse :as parse]
            #?(:clj [clojure.test :refer [deftest is]])
            #?(:cljs [cljs.test :refer-macros [deftest is]])

(deftest roundtrip-np-grammar
  (let [do-this-many 100
        expressions (take do-this-many
                          (engine/generate-all {:synsem {:sem {:spec {:def :top}
                                                               :mod {:pred :top}
                                                               :number :top
                                                               :pred :top}}}
                                               np-grammar))]
    (is (= do-this-many
           (count (pmap (fn [expr] 
                          (let [fo (fo expr)
