       (aset new-arr (+ i l1xs) (aget arr (+ splice-to i))))
     new-arr))
 
-(defn cut
+(defn cut ;; TODO use Array.prototype.slice etc
   (^array [^array arr ^number cut-from]
     (.slice arr cut-from))
   (^array [^array arr ^number cut-from ^number cut-to]

                             }])

(defn test-setup [opts]
  (let [xs (if (:disticnt? opts)
             (shuffle (range (:size opts)))
             (repeatedly (:size opts) #(rand-int (:size opts))))]
    (-> opts


;; helpers


(defn parse-path [path shift]
  (loop [level shift
         res   []]
