                      (let [f (if (satisfies? IDeref ratom)
                                #(get-in @ratom path)
                                #(ratom path))]
-                       (cached-reaction f [ratom path ::cursor] this)))]
+                       (cached-reaction f [::cursor ratom path] this)))]
       (._set-state this oldstate newstate)
       newstate))
 

  (-reset! [this new-value]
    (let [oldstate state]
      (._set-state this oldstate new-value)
      (setter path new-value)
      new-value))

  ISwap

                   (not (vector? src))))
          (str "src must be a reactive atom or a function, not "
               (pr-str src)))
  (RCursor. src path nil nil nil))



