(use 'clojure.zip)
;; def a tree struct
;; .
;; / \
;; . 0
;; / \
;; 1 2
(def tree
(vector-zip
[[1 2] 0]))
;; #0 #1 #2
;; x . .
;; / \ / \ / \
;; . 0 x 0 . 0
;; / \ / \ / \
;; 1 2 1 2 x 2
;; #0
(-> tree
node) ;; => [[1 2] 0]
;; #1
(-> tree
down
node) ;; => [1 2]
;; #2
(-> tree
down
down
node) ;; => 1
;; notice the leftmost child / first element