append-child branch? children down edit end? insert-child insert-left insert-right left leftmost lefts make-node next node path prev remove replace right rightmost rights root seq-zip vector-zip xml-zip zipper