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


  ([input]
   (let [input (preprocess input)]
     (parse input (medium))))

  ([input model]
   (let [model (if (future? model) @model model)

  ([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)]
