 
 (defn- columns-from-header [header patterns]
   (when header
-    (map (fn [c] (second (first (filter #(re-find (first %) c) patterns))))
+    (map (fn [c] (second (first (filter #(re-matches (first %) c) patterns))))
          (tabbed header))))
 
 (defn- pick-header

       (apply concat)))

(defn- tabbed [line]
  (s/split line #"\t"))

(defn- not-blank? [line]
  (not (re-matches #"\s*" line)))

(defn- throw-on-nil [x msg & args]
  (when-not x
    (throw (IllegalArgumentException.
             ^String (apply format msg args))))
  x)

(defmethod ^:private data-line "category"
