 
   IndexingReader
   (get-line-number [reader] (int (inc line)))
-  (get-column-number [reader]  (int column)))
+  (get-column-number [reader] (int column)))
 
 (extend-type java.io.PushbackReader
   Reader

  [rdr & msg]
  (throw (ex-info (apply str msg)
                  (merge {:type :reader-exception}
                         (if (indexing-reader? rdr)
                           {:line (get-line-number rdr)
                            :column (get-column-number rdr)})))))


        the-list (read-delimited-list \) rdr true)]
    (if (empty? the-list)
      '()
      (with-meta (clojure.lang.PersistentList/create the-list)
        (when line
          {:line line :column column})))))

(defn read-vector
  [rdr _]
  (let [[line column] (when (indexing-reader? rdr)
                        [(get-line-number rdr) (dec (get-column-number rdr))])
        the-vector (read-delimited-list \] rdr true)]
    (with-meta the-vector
      (when line
        {:line line :column column}))))

(defn read-map
  [rdr _]
  (let [[line column] (when (indexing-reader? rdr)
                        [(get-line-number rdr) (dec (get-column-number rdr))])
        l (to-array (read-delimited-list \} rdr true))]
    (when (== 1 (bit-and (alength l) 1))
      (reader-error rdr "Map literal must contain an even number of forms"))
    (with-meta (RT/map l)
      (when line
        {:line line :column column}))))

(defn read-number
  [reader initch]
