   (._handle-change this sender old new))
 
 
-(deftype Reaction [f ^:mutable state ^:mutable ^boolean dirty?
-                   ^:mutable watching ^:mutable watches
-                   ^:mutable auto-run on-set on-dispose ^boolean nocache?]
+(deftype Reaction [f ^:mutable state ^:mutable ^boolean dirty? ^boolean nocache?
+                   ^:mutable watching ^:mutable watches ^:mutable auto-run]
   IAtom
   IReactiveAtom
 


  IReset
  (-reset! [a newval]
    (assert (ifn? on-set) "Reaction is read only.")
    (let [oldval state]
      (set! state newval)
      (on-set oldval newval)
      (notify-w a oldval newval)
      newval))


      (set! dirty? true)
      (doseq [w wg]
        (remove-watch w this))
      (when-not (nil? (.-on-dispose this))
        (.on-dispose this s)))
    nil)

  IEquiv
