         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)))))
 
+(map apply [inc dec (comp inc inc)] [1 2 3])
 
 ;; Game -> Id -> Card -> Float
 (defn guard-probability [game target-player guess]

            {:face :countess :value 7 :count 1}
            {:face :princess :value 8 :count 1}])

(defn generate-card [card]
  (let [{:keys [count face value]} card]
    (repeat count {:face face :value value})))


(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))))))

