title: How do I correctly use the threading macros?
body: <p>My question is how can I get one of Clojure's threading macros to work in my specific case? Thank You.</p>
  
  <p>I am getting this error:</p>
  
  <pre><code>(IllegalArgumentException Don't know how to create ISeq from: 
  bene_csv.core$test_key_exclusion$fn__346  clojure.lang.RT.seqFrom (RT.java:487)
  </code></pre>
  
  <p>When I call this function:</p>
  
  <pre><code>bene-csv.core=&gt; (test-key-exclusion bene-data 1 gic-data 0 2 3)
  </code></pre>
  
  <p>Given this code -- working solution without threading macro is commented out --</p>
  
  <pre><code>(defn ret-non-match-rows
      "Expects a sequence of sequences, like what is returned from clojure-csv.
       Returns nil if there's a match; else returns failing row."
  
      [s-o-s cmp-col-idx inq-row-idx inq-row]
  
      (let [inq-row inq-row]
          (loop [[row &amp; remain-seq] s-o-s pos 0]
              (let [cmp-val (nth inq-row inq-row-idx nil)]
              (cond
                  (not row) inq-row
                  (= cmp-val (nth row cmp-col-idx)) nil
                  :not-found (recur remain-seq (inc pos)))))))
  
  (defn test-key-exclusion
      "This function takes csv-data1 (the includees) and tests to see
       if each includee is in csv-data2 (the includeds). This function
       also gathers enough other data, so that excludees (those not found),
       can be identified."
  
      [csv-data1 pkey-idx1 csv-data2 pkey-idx2 lnam-idx fnam-idx]
  
      (-&gt; (map #(ret-non-match-rows csv-data2 pkey-idx2 pkey-idx1 %1) csv-data1)
          (filter (complement nil?))
          (map (fn [row]
                  (vector (nth row pkey-idx1 nil)
                          (nth row lnam-idx nil)
                          (nth row fnam-idx nil))))))
  (comment
      (map (fn [row]
              (vector (nth row pkey-idx1 nil)
                      (nth row lnam-idx nil)
                      (nth row fnam-idx nil)))
  
           (filter (complement nil?)
              (map #(ret-non-match-rows csv-data2 pkey-idx2 pkey-idx1 %1) csv-data1)))
  </code></pre>
  
  <p>with data similar to the following:</p>
  
  <pre><code>[["0123456789" "SMITHFIELD" "HAM"]["1123456789" "LITTLE" "CHICKEN"] ...]
  </code></pre>