 ;; <br/>
 ;; ## remove-comments
 (defn remove-comments
-  "Removes rows which start with a comment character (by default, `#`). Operates by checking whether
-  the first item of every row in the collection matches a comment pattern. Also removes empty lines.
-  Options include:
+  "Returns a transducers that will remove rows which start with a comment character (by default, `#`).
+  Operates by checking whether the first item of every row in the collection matches a comment pattern.
+  Also removes empty lines. Options include:
 
   * `:comment-re` - Specify a custom regular expression for determining which lines are commented out.
   * `:comment-char` - Checks for lines lines starting with this char.

;; ## structify

(defn structify
  "Takes a sequence of row vectors, as commonly produced by csv parsing libraries, and returns a sequence of
  structs. By default, the first row vector will be interpreted as a header, and used as the keys for the structs.
  However, this and other behaviors are customizable via an optional `opts` map with the following options:

  * `:keyify` - bool; specify whether header/column names should be turned into keywords (default: `true`).
  * `:header` - specify the header to use for map keys, preventing first row of data from being consumed as header."
  ([] (structify {}))
  ([{:keys [keyify transform-header header] :or {keyify true} :as opts}]
   (fn [rf]

;; ## process

(defn process
  "Returns a transducers that composes the most frequently used input processing capabilities,
  and is controlled by an `opts` hash with opinionated defaults:

  * `:mappify` - bool; transform rows from vectors into maps using `mappify`.
  * `:keyify` - bool; specify whether header/column names should be turned into keywords (default: `true`).
