   (vec (shuffle (mapcat generate-card cards))))
 
 ;;; AI STUFF
-
-;;;
 
 (defn remove-first [face coll]
   (let [[pre post] (split-with #(not= face (:face %)) coll)]

        current-player-hand (player-hand game current-player)
        known-list (vec (map :face (concat discard-pile current-player-hand)))
        filtered-deck (filter-fresh-deck known-list)]

    (float (/ (count (filter #(>= value (:value %)) filtered-deck))
              (count filtered-deck)))))


;; Game -> Id -> Card -> Float
(defn guard-probability [game target-player guess]


(defn baron-survival-probability [game player-card target-player]
  (let [{:keys [discard-pile current-player]} game
        player-value        (:value player-card)
        current-player-hand (player-hand game current-player)
        known-list          (mapv :face (concat discard-pile current-player-hand))
        visible-card        (known-card game current-player target-player)
        filtered-deck       (filter-fresh-deck known-list)]
    (if visible-card
      (if (>= player-value (:value visible-card)) 100 0)
      (float (/ (count (filter #(>= player-value (:value %)) filtered-deck))
                (count filtered-deck))))))

