    ;; but:
    ;;   [nbar-obj [nbar ]] is allowed.
    (unify-check c11-comp-subcat-1
-                (let [head-constraint (atom :top)
-                      adj-sem (atom {:prop head-constraint})
-                      head-mod (atom :top)]
+                cons-mod
+                (let [head-constraint (atom :top)]
                   {:rule "nbar"
                    :bar-level :low
-                   :synsem {:mod {:first adj-sem
-                                  :rest head-mod}}
-                   :comp {:synsem {:cat :adjective
-                                   :sem adj-sem}}
+                   :comp {:synsem {:cat :adjective}}
                    :head {:bar-level :low
                           :synsem {:cat :noun
-                                   :sem {:prop head-constraint}
-                                   :mod head-mod}}}))
+                                   :sem {:prop head-constraint}}}}))
    ;; noun-phrase -> det nbar
    (unify-check c10
                 comp-specs-head
-                (let [number-agreement (atom :top)
-                      mod (atom :top)]
-                  {:rule "noun-phrase"
-                   :aliases (list "np")
-                   :synsem {:agr {:number number-agreement}
-                            :reflexive false
-                            :cat :noun
-                            :sem {:mod mod
-                                  :number number-agreement}}
-                   :head {:synsem {:mod mod}}}))
+                {:rule "noun-phrase"
+                 :aliases (list "np")
+                 :synsem {:reflexive false
+                          :cat :noun}})
 
    (let [sem (atom :top)
          agr (atom :top)

   [babel.parse :as parse]
   [babel.ug :as ug
    :refer [apply-default-if 
            comp-specs-head head-semantics
            head-principle root-is-comp
            root-is-head root-is-head-root
            subcat-1-principle subcat-1-1-principle

                          :subcat {:2 {:top :top}
                                   :3 []}}})

   ;; TODO: should be :mod :first, not just :mod.
   ;; "has seen a dog" : complement is semantic object.
   (let [obj-mod (atom :top)
         obj (atom {:mod obj-mod})]
