 (defn- comment-prefix?
   "Checks whether the character begins a comment."
   [ch]
-  (identical? \; (char ch)))
+  (identical? \;  ch))
 
 (defn- number-literal?
   "Checks whether the reader is at the start of a number literal"
   [reader initch]
-  (let [c (char initch)]
-    (or (numeric? initch)
-        (and (or (identical? \+ c) (identical?  \- c))
-             (numeric? (peek-char reader))))))
+  (or (numeric? initch)
+      (and (or (identical? \+ initch) (identical?  \- initch))
+           (numeric? (peek-char reader)))))
 
 (defn newline? [c]
   "Checks whether the character is a newline"
-  (let [c (char c)]
-    (or (identical? \newline c)
-        (nil? c))))
+  (or (identical? \newline c)
+      (nil? c)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; read helpers

  ([reader eof-error? sentinel] (read reader eof-error? sentinel false))
  ([^blind.reader.IPushbackReader reader eof-error? sentinel recursive?]
     (try
       (let [ch (char (read-char reader))]
         (cond
            (nil? ch) (if eof-error? (reader-error reader "EOF") sentinel)
            (whitespace? ch) (read reader eof-error? sentinel recursive?)

               (let [d (Character/digit ^char ch ^int base)]
                 (read-char rdr)
                 (if (== d -1)
                   (throw (IllegalArgumentException. (str "Invalid digit: " ch)))
                   (recur (inc i) (long (* uc (+ base d))))))))
           (char uc))))))

