   (:refer-clojure :exclude [atom])
   (:require-macros [reagent.ratom :refer [with-let]])
   (:require [reagent.impl.util :as util]
-            [reagent.debug :refer-macros [dbg log warn dev?]]))
+            [reagent.debug :refer-macros [dbg log warn error dev?]]))
 
 (declare ^:dynamic *ratom-context*)
 (defonce cached-reactions {})

        (doseq [w watching :while (== dirtyness maybe-dirty)]
          (when (and (instance? Reaction w)
                     (not (-check-clean w)))
            (._try-run this w)))
        (set! auto-run ar))
      (when (== dirtyness maybe-dirty)
        (set! dirtyness clean)))

    nil)

  Object
  (_try-run [this other]
    (try
      (if-some [ar auto-run]
        (ar this)
        (run this))
      (catch :default e
        ;; Just log error: it will most likely pop up again at deref time.
        (when-not silent (error "Error in reaction:" e))
        (set! dirtyness dirty)
        (set! (.-dirtyness other) dirty)))
    nil)

  IRunnable
  (run [this]
