 
 (defn ^PersistentVector read-delimited-list
   [delim rdr recursive?]
-  (let [first-line (if (satisfies? LineNumberingReader rdr)
+  (let [first-line (if (satisfies? IndexingReader rdr)
                      (get-line-number rdr))]
    (loop [a (transient [])]
      (let [ch (read-past whitespace? rdr)]


(defn read-meta
  [rdr _]
  (let [line (if (satisfies? LineNumberingReader rdr)
               (get-line-number rdr))
        m (desugar-meta (read rdr true nil true))]
    (when-not (map? m)
      (reader-error rdr "Metadata must be Symbol,Keyword,String or Map"))

      (set! buf ch)
      (set! buf? true))))

(defn string-push-back-reader [^String s]
  "Creates a StringPushbackReader from a given string"
  (StringPushbackReader. s nil (.length s) false))

(defprotocol IndexingReader
  (get-line-number [reader])
  (get-column-number [reader]))

(defn read-line [rdr]
  (loop [c (read-char rdr) s ""]
