   [dataset n]
   (tabc/pass-rows dataset (partial take n)))
 
+(defn lift->vector [x]
+  (if (sequential? x) x [x]))
+
 (defn derive-column
   "Adds a new column to the end of the row which is derived from
 column with position col-n.  f should just return the cells value.

   (derive-column dataset new-column-name from-cols identity))
  ;; todo support multiple columns/arguments to f.
  ([dataset new-column-name from-cols f]
     (inc/add-derived-column new-column-name from-cols f dataset)))

(defn- resolve-keys [headers hash]
  (map-keys #(resolve-col-id % headers nil) hash))

        new-col-ids (keys first-result)]

    new-col-ids))

(defn add-columns
  ([dataset hash]
