      ;; might be either the canonical form of a word, or an irregular conjugation of a word.
      (if (not (empty? analyzed-via-identity))
        analyzed-via-identity
-       (lookup-fn surface-form)))))
+       (get lexicon surface-form)))))
 
 (def pronoun-semantic-gender-agreement
   (let [gender (atom :top)]

                 (fn [key]
                   (if (keyword? key)
                     (let [lexical-form surface-form
                           looked-up (lookup-fn lexical-form)]
                       (map #(unifyc % (:unify-with (get replace-pairs key)))
                            looked-up))))
                 (keys replace-pairs)))]

   {:unify-with {:synsem {:cat :noun
                          :agr {:number :sing}}}}})

(defn analyze [surface-form lexicon]
  "return the map incorporating the lexical information about a surface form."
  (let [replace-pairs
        (merge 
