           player-events ([coord] (play-game-turn! coord))
           (async/timeout ai-move-delay) ([_] (if (is-ai? @current-player) (handle-ai!)))
           )))
-
     {:player-events player-events
      :game-events game-events}))
 

(defn start-game-loop
  "Manage transitions between player moves, ai moves, and generic game events"
  []
  (let [game-on-xf (fn [_] (not (turn/game-over? @current-turn)))
        is-human-xf (fn [_] (not (is-ai? @current-player)))
        player-events (chan 1 (comp (filter game-on-xf) (filter is-human-xf)))
        game-events (chan 1)]
    (go
      (while true



;; -----------------------------------------
;; PLUGGING THE BLOCKS
;; -----------------------------------------

(defn get-suggestions
  []
  (if (and @help-toggled? (not (is-ai? @current-player)))
    (turn/get-moves-of @current-turn @current-player)
    {}))

