           res (capture-derefed f this)
           derefed (captured this)]
       (when (not= derefed watching)
-        (-update-watching this derefed))
+        (ra-update-watching this derefed))
       (when-not active?
         (when debug (swap! -running inc))
         (set! active? true))
       (set! norun? false)
       (set! dirty? clean)
       (set! state res)
-      (-notify-watches this oldstate state)
+      (ra-notify-watches this oldstate state)
       res))
 
   IDeref
   (-deref [this]
-    (-check-clean this)
+    (ra-check-clean this)
     (if (or auto-run (some? *ratom-context*))
       (do
         (notify-deref-watcher! this)

      (when on-set
        (set! dirty? is-dirty)
        (on-set oldval newval))
      (-notify-watches a oldval newval)
      newval))

  ISwap

  IHash
  (-hash [this] (goog/getUid this)))

(defn- reaction? [ra]
  (instance? Reaction ra))

(defn make-reaction [f & {:keys [auto-run on-set on-dispose derefed]}]
  (let [runner (if (= auto-run true) run auto-run)
        active (not (nil? derefed))
