 (defn- re-find*
   [re s]
   (let [matches (.exec re s)]
-    (when (coercive-not= matches nil)
+    (when-not (nil? matches)
       (if (== (alength matches) 1)
         (aget matches 0)
         matches))))

  (throw (js/Error. (apply str msg))))

(defn ^boolean macro-terminating? [ch]
  (and (coercive-not= ch "#")
       (coercive-not= ch \')
       (coercive-not= ch ":")
       (macros ch)))

(defn read-token

(defn- re-matches*
  [re s]
  (let [matches (.exec re s)]
    (when (and (not (nil? matches))
               (identical? (aget matches 0) s))
      (if (== (alength matches) 1)
        (aget matches 0)
