    (do
      (def Exception js/Error)
      (def IllegalArgumentException js/Error)
-     (def UnsupportedOperationException js/Error)
-     (def Boolean boolean)))
+     (def UnsupportedOperationException js/Error)))
 
 (def ^:const tx0 0x20000000)
 


(defrecord TxReport [db-before db-after tx-data tempids tx-meta])

(defn ^Boolean is-attr? [db attr property]
  (contains? (-attrs-by db property) attr))

(defn ^Boolean multival? [db attr]
  (is-attr? db attr :db.cardinality/many))

(defn ^Boolean ref? [db attr]
  (is-attr? db attr :db.type/ref))

(defn ^Boolean component? [db attr]
  (is-attr? db attr :db/isComponent))

(defn entid [db eid]

      (update-in [:db-after] with-datom datom)
      (update-in [:tx-data] conj datom)))

(defn #?@(:clj  [^Boolean reverse-ref?]
          :cljs [^boolean reverse-ref?]) [attr]
  (cond
    (keyword? attr)
    (= "_" (nth (name attr) 0))
