 (ns babel.over
   (:refer-clojure :exclude [get get-in merge resolve find parents])
   (:require
-   [babel.encyclopedia :refer [null-sem-impl sem-impl]]
    [babel.exception :refer [exception]]
    [babel.lexiconfn :refer [get-fail-path]]
    [clojure.string :as string]

   (let [check-result (comp-pre-checks parent comp)
         result (if check-result :fail
                      (unifyc parent
                              {:comp comp}
                              {:comp {:synsem {:sem (null-sem-impl (get-in comp '(:synsem :sem) :top))}}}))
         is-fail? (fail? result)]
     (if (not is-fail?)
       (do

              (log/trace (str "parent " (get-in parent [:rule])
                              " wanted head with: "
                              (strip-refs (get-in parent [:head :synsem]))))
              (log/trace (str "fail-path: " (get-fail-path (get-in parent [:head])
                                                           child)))
              (log/trace (str "  parent@" fail-path "="
