 (check-algorithm-properties "binary-tree")
 (check-algorithm-properties "sidewinder")
 (check-algorithm-properties "wilsons")
-;; The following two can't pass :each-changes because the last update might be a duplicate.
+;; The following can't pass :each-changes because the last update might be a duplicate.
 (check-algorithm-properties "aldous-broder" :loose)
 (check-algorithm-properties "hunt-and-kill" :loose)
 (check-algorithm-properties "recursive-backtracker" :loose)

  [alg-name & specs]

  (let [specs (cond
                (empty? specs)     #{:perfect :all-changed :accurate-changes :each-changes :updates-link-2}
                (= [:loose] specs) #{:perfect :all-changed :accurate-changes :each-incomplete-changes :incompletes-link-2}
                :else              (set specs))]
    `(do

       (when (contains? ~specs :all-changed)
         (check-algorithm-all-cells-changed ~alg-name))

       (when (contains? ~specs :each-update-changes)
         (check-algorithm-each-update-changes ~alg-name))

       (when (contains? ~specs :each-incomplete-changes)
