     (reduce-kv (fn [_ key f]
                  (f key this oldval newval)
                  nil)
-               nil watches))
+               nil watches)
+    nil)
 
   (-add-watch [this key f]
     (set! watches (check-watches watches (assoc watches key f))))


(deftype Reaction [f ^:mutable state ^:mutable ^number dirtyness
                   ^:mutable watching ^:mutable watches
                   auto-run on-set on-dispose ^:mutable ^boolean norun?
                   ^boolean nocache?]
  IAtom
  IReactiveAtom


        dirty (if (nil? derefed) dirty clean)
        nocache (if (nil? no-cache) false no-cache)
        reaction (Reaction. f nil dirty nil nil
                            runner on-set on-dispose nocache)]
    (when-not (nil? derefed)
      (-update-watching reaction derefed))
    reaction))
