   "analyze a word: as opposed to parsing which is multi-word."
   ;; TODO: should take a language model, not a lexicon
   ([surface-form]
-   (analyze surface-form (:lexicon (medium))))
+   (analyze surface-form (:lexicon medium)))
   ([surface-form lexicon]
    (morph/analyze surface-form lexicon)))
 

  ([spec & {:keys [model do-enrich max-total-depth truncate]
            :or {do-enrich true
                 max-total-depth generate/max-depth
                 model (medium)
                 truncate true}}]
   (log/debug (str "generating with spec: " (strip-refs spec) " with max-total-depth: " max-total-depth))
   (let [result (generate/generate spec model)]

  ([]
   (let [max-total-depth generate/max-depth
         truncate-children true
         model medium]
     (generate {:modified false}
               :max-total-depth max-total-depth
               :truncate-children true
