   (let [b benchmark-board
         t (all-transitions b)]
     (time (dotimes [i 100] (all-transitions b)))
-    ;; TODO - 12300 turns in loop (55 ms for a transduce) => need better algo
+    ;; TODO - 122700 turns in loop for 100 iterations (6.5 ms for a transduce) => need better algo
     ;; The add-destination removal makes us gain around 50 ms
     ;; Getting rid of the systematic conj does not win anything
     ;; One dimentional array could gain us only 2-3 ms

                ))
            ))
    ))

  [x y]
  (and (< -1 x board/width) (< -1 y board/height)))

(defn- seek-jump-source-toward
  "Starting from the destination of a jump (an empty cell):
   * Search for valid source for the jump
   * Collect the jumped cells along the way"
  [board [x-init y-init :as destination] [dx dy]]
  (loop [x (+ x-init dx)
         y (+ y-init dy)
