                      (map? s) (cons s (lazy-seq (read-fn* rdr name))))))]
     (read-fn rdr nil)))
 
-(def ^:private newline-character (char 10))
-(def ^:private return-character (char 13))
-
-(defn- newline*?
-  [c]
-  (or (= c newline-character)
-      (= c return-character)))
-
-(def newline? (memoize newline*?))
-
 (defn- read-sequence-with-offset
   [^FASTAReader rdr offset-start offset-end]
   (let [len (- offset-end offset-start)

         (.clear ~buffer)
         ba#)))

(defn- sequqntial-read*
  "Core function to read FASTA sequentially.
   Function f is called every time a single sequence finishes reading.

           (loop [i 0 name-line? false rname rname*]
             (if (< i bytes)
               (let [b (aget buf i)]
                 (if (= b gt-byte)
                   (do (when-let [s (create-ba s-buf)] (f {:name rname :sequence s}))
                       (recur (inc i) true rname))
                   (if (= b newline-byte)
                     (if name-line?
                       (recur (inc i) false (create-ba n-buf))
                       (recur (inc i) name-line? rname))
