         body (next form)
         [locals params] (reduce (fn [[locals params] name]
                                   (let [param {:name name
+                                               :line (get-line name env)
+                                               :column (get-col name env)
                                                :tag (-> name meta :tag)
                                                :shadow (when locals (locals name))}]
                                     [(assoc locals name param) (conj params param)]))

        locals (reduce (fn [m fld]
                         (assoc m fld
                                {:name fld
                                 :field true
                                 :mutable (-> fld meta :mutable)
                                 :tag (-> fld meta :tag)

                 {:protocols (-> tsym meta :protocols)}
                 (when-let [line (:line env)]
                   {:file *cljs-file*
                    :line (get-line tsym env)
                    :column (get-col tsym env)})))))
    {:env env :op :deftype* :form form :t t :fields fields :pmasks pmasks}))

(defmethod parse 'defrecord*
