               (index-fn spec)
               (flatten (vals
                         (or (:lexicon (:generate model)) (:lexicon model))))))))
-
+  
 (defn comp-paths-to-bolts-map
   "return a map between the set of all complements in the given _bolt_,and the lazy sequence of bolts for that spec."
   [bolt model depth max-depth]

                    (if (= false (get-in bolt-at [:phrasal]))
                      [(do-defaults (assoc-in bolt path bolt-at) model)]
                      (let [comps-map (comp-paths-to-bolts-map bolt-at model (+ 1 depth) max-depth)
                            comp-paths (keys comps-map)
                            comp-bolts (vals comps-map)]
                        (when (not (some empty? comp-bolts))
                          (mapfn #(do-defaults (assoc-in bolt path %) model)

     truncate-children max-total-depth top-level-spec)))

(defn do-defaults [tree language-model]
  (log/trace (str "calling do-defaults on tree:" ((:morph language-model) tree)))
  (if-let [default-fn (:default-fn language-model)]
    (let [result
          (default-fn tree)]
      (log/trace (str "result of calling do-defaults on tree:" ((:morph language-model) result)))
      result)
    ;;
    (do
