         (do
           (if (not (= true head-pre-checks))
             (log/warn (str "moreover-head: pre-checked missed: fail-path-between "
-                           "parent:'" (get-in parent [:rule]) "' and child '" (morph child) "' :"
-                           (fail-path-between parent {:head child}))))
+                           "parent:'" (get-in parent [:rule]) "' and child:"
+                           (get-in child [:rule] (get-in child [:synsem :sem :pred] :nopred)) ".")))
           (if (= *extra-diagnostics* true)
             (let [fail-path (get-fail-path (get-in parent [:head]) child)]
               (log/trace (str "moreover-head: failed to add head: '" (morph child) "' to parent: " (get-in parent [:rule])))

        (if (= false pre-check)
          (log/warn (str "moreover-comp: pre-checked missed: fail-path-between:"
                         (fail-path-between parent {:comp child}))))
        (log/trace (str "moreover-comp: fail: child: " (strip-refs child)))
        (if (and
             *throw-exception-if-failed-to-add-complement*
             (get-in child '(:head)))

         label (if (get-in parent [:rule]) (get-in parent [:rule]) (:comment parent))]
     (if (not is-fail?)
       (do
         (log/debug (str "overh: " (get-in parent [:rule]) "=>" (get-in head [:rule]
                                                                        (get-in head [:synsem :sem :pred]
                                                                                "(no pred for head)"))))
         (log/trace (str "overh successful result: " (strip-refs (dissoc result :serialized))))
         (list result))))))

