(use 'clojure.zip)
;; def a tree struct
;; .
;; / \
;; . 0
;; / \
;; 1 2
(def tree
(vector-zip
[[1 2] 0]))
;; #1 #2
;; x x
;; / \ /|\
;; 1 0 1 - 0
;; / \
;; 1 2
;; #1
(-> tree
down
(replace 1)
up
node) ;; => [1 0]
;; #2
(-> tree
down
(insert-left 1)
remove ;; cut desired node
up
node) ;; => [1 0]