           [tree])
         with-defaults))))
 
+(declare model-with-vocab-items)
+
 ;; TODO: factor out language-independent parts of this to babel.lexiconfn.
 (defn model-plus-lexicon
   "create a language model for Italian with the supplied lexicon."


     ((fn [model]
        (merge model
               {:bolts
                (merge
                 (let [depth 2
                       spec

                    (lightning-bolts model
                                     spec
                                     0 depth)}))})))
     ((fn [model]
        (merge model
               {:generate-fn (fn [spec] (generate/generate spec model))}))))))

(defn model-with-vocab-items [vocab-items filter-lexicon-fn model]
  (let [input-lexicon (reduce merge (map vocab-entry-to-lexeme vocab-items))
        synthetic-noun (edn2lexicon input-lexicon)
        new-lexicon (merge-with concat
                                synthetic-noun
