                                                 (map #((:morph language-model) %)
                                                      result))))
 
-                   (log/debug (str "trying overh with spec: " (strip-refs spec)))
                    (if (and (not (empty? subset)) (empty? result)
                             (> (count subset)
                                50))

          (when (= false (get-in spec [:head :phrasal] false))
            (lazy-mapcat
             (fn [parent]
               (let [parent (unify parent spec)
                     subset
                     (if-let [index-fn
                              (:index-fn language-model)]
                       (do (log/trace (str "found index-fn."))
                           (log/debug (str "lightning-bolts: calling index-fn with rule: " (:rule parent)
                                           " with spec: " (strip-refs (get-in parent [:head] :top))))
                           (index-fn (get-in parent [:head] :top)))
                       (do (log/warn (str "no indices found for spec: " spec))
                           []))]
                 (if (not (empty? subset))
                   (log/debug (str "lightning-bolts: " (get-in parent [:rule])
                                   " : (optimizeme) size of subset of candidate heads: "

            (do
              (lazy-mapcat (fn [parent]
                             (log/debug (str "calling lightning-bolts recursively: parent: " (:rule parent) " with spec : "
                                             (spec-info (get-in parent [:head]))))
                             (over/overh
                              parent
                              (lightning-bolts language-model (get-in parent [:head])
