(edit loc f & args)
Replaces the node at this loc with the value of (f node args)
(defn edit [loc f & args] (replace loc (apply f (node loc) args)))