         (first (shuffle
                 (filter #(not (fail? %))
                         (map (fn [val]
-                               (unifyc spec val))
+                               (unify spec val))
                              (flatten (vals lexicon))))))]
     (if expr
       (conj {:surface (fo expr)}

   [clojure.java.io :refer [resource]]
   [clojure.repl :refer [doc]]
   [clojure.tools.logging :as log]
   [dag_unify.core :refer [fail? get-in strip-refs unifyc]]))

(def index-lexicon-on-paths
  [[:synsem :cat]


(defn intersection [spec curriculum model]
  (cond false ;; TODO implement this stub and set to true
        (unify spec
               ;; e.g. support curriculum was
               ;; drilling on imperfect, we would have:
               {:synsem {:sem {:tense :past
                               :aspect :imperfect}}})
        true
        spec))
