         debug (log/info "  finalizing..")]
 
     (->
-     ;; Create the model in stages; we need stages because some closures need a model
+     ;; Create the model in stages. We need to do this because some closures need a model
      ;; as a parameter, so they use as the model what precedes it in the list of
      ;; stages.
      {:index-fn (fn [spec] (lookup-spec spec indices index-lexicon-on-paths))


     ((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
