       (when (aget (.-fwatches this) key)
         (set! (.-watchers this) (dec (.-watchers this)))
         (js-delete (.-fwatches this) key)
-        (when (identical? watchers 0) (.clean this))))
+        (.clean this)))
     (notifyFWatches [this oldVal newVal]
       (goog.object/forEach
        (.-fwatches this)

      (when (contains? watches key)
        (set! (.-watchers this) (dec watchers))
        (set! (.-watches this) (dissoc watches key))
        (when (identical? watchers 0)
          (.clean this)))
      this)

    IKeysetCursor

                           nil nil #js {} 0 nil)
              activate-fn (fn [] (set! child-cursors (update child-cursors ckey conj cur)))]
          (activate-fn)
          (set! (.-activate-fn cur) activate-fn)
          (set! (.-clean-fn cur)
                (fn []
                  (set! child-cursors
