    from the behavior in other implementations of Push.)"
   [tree point-index]
   (let [index (mod (math/abs point-index) (count-points tree))
-        zipper (zip/seq-zip tree)]
+        zipper (seq-zip tree)]
     (if (zero? index)
       tree ;; can't remove entire tree
       (loop [z zipper i index]


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; utilities

(defn ensure-list [thing] ;; really make-list-if-not-seq, but close enough for here
  (if (seq? thing)

        loc (inc (lrand-int (dec (count-points tree))))]
    (zip/root
      ((lrand-nth [zip/insert-left zip/insert-right])
        (loop [z (seq-zip tree) i 0]
          (if (= i loc)
            z
            (recur (zip/next z) (inc i))))
