 ;;; Queueing
 
 (defonce rea-queue nil)
-
-(def ^boolean ^:dynamic *flushing*)
+(def empty-context #js{})
 
 (defn- rea-enqueue [r]
   (when (nil? rea-queue)

(defn flush! []
  (when-some [q rea-queue]
    (set! rea-queue nil)
    (binding [*flushing* true]
      (run-queue q))))


;;; Atom


  IDeref
  (-deref [this]
    (when (nil? *ratom-context*)
      (flush!))
    (if-not (and (nil? auto-run) (nil? *ratom-context*))
      (do
