     (log/debug (str "micro lexicon size:" (count (keys micro-lexicon))))
     (clojure.core/merge small
                         {:lexicon micro-lexicon})))
-
-(defn lookup-spec [spec indices]
-  (log/debug (str "index-fn called with spec: " 
-                  (strip-refs
-                   (dissoc (strip-refs spec)
-                           :dag_unify.core/serialized))))
-  (let [result
-        (reduce intersection-with-identity
-                (filter #(not (empty? %))
-                        (map (fn [path]
-                               (let [result
-                                     (get (get indices path)
-                                          (get-in spec path ::undefined))]
-                                 (log/trace (str "subset for path:" path " => " (get-in spec path ::undefined)
-                                                 " = " (count result)))
-                                 result))
-                             index-lexicon-on-paths)))]
-    (log/debug (str "indexed size returned: " (count result)))
-    result))
 
 (defn medium []
   (deliver-lexicon)

                     (= (:rule %) "s-imperfect-nonphrasal")
                     (= (:rule %) "s-aux")
                     (= (:rule %) "vp-32")
                     (= (:rule %) "vp-aux")
                     (= (:rule %) "vp-aux-22")
                     (= (:rule %) "vp-present")
                     (= (:rule %) "vp-pronoun-nonphrasal")

                                v)]
                  (if (not (empty? filtered-v))
                    [k filtered-v]))))
        lexicon-for-generation (lexicon-for-generation lexicon)

        indices (create-indices lexicon-for-generation)]
        
    {:index-fn (fn [spec] (lookup-spec spec indices))

     :name "small"
     :morph-walk-tree (fn [tree]
                        (do
                          (merge tree
