   clojure.data.json-new
   (:require [clojure.pprint :as pprint])
   (:import (java.io PrintWriter PushbackReader StringWriter
-                    StringReader Reader EOFException)))
+                    StringReader EOFException)))
 
 ;;; JSON READER
 
 (def ^:dynamic ^:private *keywordize*)
-
-(declare do-parse)
+(def ^:dynamic ^:private *bigdec*)
+
+(declare -parse)
 
 (defmacro ^:private codepoint [c]
   (int c))

             (throw (Exception. "JSON error (key missing value in object)")))

        (do (.unread stream c)
            (let [element (do-parse stream true nil)]
              (if (nil? key)
                (if (string? element)
                  (recur element result)

          (recur nxt)))))
  (.print out \]))

(defn- write-json-bignum [x ^PrintWriter out]
  (.print out (str x)))

(defn- write-json-plain [x ^PrintWriter out]
