   (-hash [this]
     (eq/hashCode this)))
 
-(defn opts-merge [a b]
+(defn ^:no-doc opts-merge [a b]
   (doseq [k (js-keys b)]
     (let [v (aget b k)]
       (aset a k v)))
   a)
 
-(deftype MapBuilder []
+(deftype ^:no-doc MapBuilder []
   Object
   (init [_ node] (transient {}))
   (add [_ m k v node] (assoc! m k v))
   (finalize [_ m node] (persistent! m))
   (fromArray [_ arr node] (cljs.core/PersistentArrayMap.fromArray arr true true)))
 
-(deftype VectorBuilder []
+(deftype ^:no-doc VectorBuilder []
   Object
   (init [_ node] (transient []))
   (add [_ v x node] (conj! v x))

  [r str]
  (.read r str))

(deftype KeywordHandler []
  Object
  (tag [_ v] ":")
  (rep [_ v] (.-fqn v))
  (stringRep [_ v] (.-fqn v)))

(deftype SymbolHandler []
  Object
  (tag [_ v] "$")
  (rep [_ v] (.-str v))
  (stringRep [_ v] (.-str v)))

(deftype ListHandler []
  Object
  (tag [_ v] "list")
  (rep [_ v]

      (t/tagged "array" ret)))
  (stringRep [v] nil))

(deftype ^:no-doc VectorHandler []
  Object
  (tag [_ v] "array")
  (rep [_ v]
