 
 (ns cljs.core
   (:require [goog.string :as gstring]
-            [goog.object :as gobject]
-            [goog.string.StringBuffer :as gsb]))
+            [goog.object :as gobject]))
 
 (defprotocol ICounted
   (-count [coll] "constant time count"))

  "Prints a single object to a string, observing all the
  options given in opts"
  [obj opts]
  (let [sb (goog.string.StringBuffer.)]
    (loop [coll (seq (pr-seq obj opts))]
      (when coll
        (.append sb (first coll))

(deftype NeverEquiv []
  IEquiv
  (-equiv [o other] false))

(def ^:private never-equiv (NeverEquiv.))

(defn- equiv-map
