 
 (defn overh
   "add given head as the head child of the phrase: parent."
-  [parent head morph]
+  [parent head]
   (when (and (map? parent)
              (map? head))
     (do

     (if (not is-fail?)
       (list result)))))

(defn overhc [parent head comp & [morph]]
  (overc (overh parent head morph) comp))

;; TODO: distinguish between when:
;; 1) called with only a child1 (no child2),

      (log/trace (str "over-each-parent-comp: done. returning nil"))
      nil)))

(defn over-each-head-child [parent children]
  (log/trace (str "over-each-head-child: parent type: " (type parent)))
  (log/trace (str "over-each-head-child: head children type: " (type children)))
  (if (not (empty? children))
    (let [each-child (first children)]
      (lazy-cat
       (overh parent each-child)
       (over-each-head-child parent (rest children))))
    (do
      (log/trace (str "over-each-head-child: done. returning nil."))
      nil)))
