 
 (defn- worst-immediate-loss
   "Return the next worse lost game move for 'looser' if 'player' plays"
+  {:pre [(player? player) (player? looser)]}
   [game player looser]
   (let [converted-filter #(= looser (:looser %))
         all-moves (get-in game [:moves player])]

    [clojure.string :as str]))

(enable-console-print!)

;; TODO - Try to plug the history of brower for "back"
;; TODO - Try to bring some domain vocabular here: it gets too complicated to trace


(defn ^boolean is-cell-empty?
  "Indicates whether a cell is owned by any player"
  {:pre (or (nil? cell) (cell-types? cell))} 
  [cell]
  (or (nil? cell) (= cell :empty) (= cell :wall)))

