                          (if-let [i (index (normalize-field-name field))]
                            (assoc vals
                              i (apply list f (get vals i) args))
-                           (let [i (index '--extmap)]
+                           (let [i (index '__extmap)]
                              (assoc vals
                                i (apply list `update (get vals i) (keyword field) args)))))
                        (vec (map #(list '. r %) fields))


(defn- normalize-field-name [field]
  (-> (name field)
      (s/replace #"_QMARK_" "?")
      (s/replace #"_"       "-")
      symbol))

(defn- ^Class coerce-class

                         (if-let [i (index (normalize-field-name field))]
                           (assoc vals i val)
                           (assoc-in vals
                             [(index '__extmap) (keyword field)] val)))
                       (vec (repeat (count fields) nil))
                       (into-map attrs))]
    `(new ~type ~@vals)))
