       (= (dissoc old-board move) (dissoc new-board move))
       )))
 
-(defn valid-move-properties
+(defn game-move-properties
   [old-game]
-  (prop/for-all [move coord-gen]
+  (prop/for-all [move move-gen]
     (let [new-game (logic/on-move old-game move)]
-      (or (= old-game new-game) (valid-next-game? old-game new-game move))
+      (or (= old-game new-game) (valid-game-transition? old-game new-game move))
       )))
 
-(defn valid-undo-properties
+(defn game-undo-properties
   [old-game]
-  (prop/for-all [move coord-gen]
+  (prop/for-all [move move-gen]
     (let [new-game (logic/on-move old-game move)]
       (or
         (= old-game new-game)

;; Generative testing
;; ----------------------------------------------------------------------------

(defn valid-next-game?
  [old-game new-game move]
  (let [new-player (logic/get-next-player new-game)
        old-player (logic/get-next-player old-game)

        ))))

(defspec try-move-from-start-game 100
  (game-move-properties (logic/new-game)))

(defspec try-move-from-valid-game 100
  (prop/for-all [g game-gen] (game-move-properties g)))

(defspec try-undo-from-valid-game 100
  (prop/for-all [g game-gen] (game-undo-properties g)))


;; ----------------------------------------------------------------------------
