 
 (ns cognitect.transit
   (:refer-clojure :exclude [integer? uuid uuid? uri?])
-  (:require [com.cognitect.transit :as t]
+  (:require [clojure.set :as set]
+            [com.cognitect.transit :as t]
             [com.cognitect.transit.types :as ty]
             [com.cognitect.transit.eq :as eq])
   (:import [goog.math Long]))

              :defaultHandler (-> opts :handlers :default)
              :mapBuilder (MapBuilder.)
              :arrayBuilder (VectorBuilder.)
              :prefersStrings false}
         (clj->js (dissoc opts :handlers))))))

(defn read
  "Read a transit encoded string into ClojureScript values given a 
   transit reader."
  [r str]
  (.read r str))

  Long
  (-equiv [this other]
    (.equiv this other))

  ty/UUID
  (-equiv [this other]
    (if (instance? UUID other)
