 ;; Public API
 ;; -----------------------------------------
 
+(def empty-board
+  "An empty board of `width` columns times `height` owners"
+  (let [empty-column (vec (repeat height :none))]
+    (vec (repeat width empty-column))))
+
 (defn convert-cell
   [board coord owner]
   (assoc-in board coord owner))



;; -----------------------------------------
;; Private
;; -----------------------------------------

(def width 16)


(def coordinates
  (vec (for [x (range width) y (range height)] [x y])))

(s/def ::coord (set coordinates))

