         (r/remove nil?
                   (r/map (fn [[column value]]
                            (let [cdef (columns column)]
-                             (when (and (seq cdef) (not (:skip cdef)))
+                             (when-not (or (nil? cdef)
+                                           (:skip cdef))
                                [(keyword (or (:name cdef) column))
                                 (cast-value value cdef)]))) data))))
 

   :default true))

(defmethod cast-value "date" [value {:keys [format]}]
  (if format
    (time/parse (time/formatter format) value)
    (time/parse default-date-parser value)))

(defmethod cast-value "lookup" [value {:keys [lookup]}]
  ;; Have to call keyword on value because Cheshire turns keys into keywords  
  (lookup (keyword value)))

(defmethod cast-value :default [value _]
  value)

  (->num value))

(defmethod cast-value "dollars" [value _]
  (when-not (str/blank? value)
    (->num (str/replace value #"^\$(-?\d+)" "$1"))))

(defmethod cast-value "boolean" [value _]
  (cond
