         (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))))
 

  (->num value))

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

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

                               data references))
        transform-keys (if keyfn
                         (partial map #(convert-keys % keyfn))
                         identity)
        remove-nils (fn [data]
                      (map
                       (fn [row]
                         (into {} (remove (fn [[k v]] (nil? v)) row)))
                       data))]
    (doseq [file sources]
      (load-csv-file
       (str dir "/" file)
       collection
       (comp remove-nils transform-keys add-concepts cast-data)))))

(defmulti load-slice
  (fn [slice _ definition]
