       (reduce #(%2 %1) game-state [(clear-space player-coords)
                                    (player-occupy-space desired-coords player-id)])
       (reduce #(%2 %1) game-state [(apply-collision-damage player-id
+                                                           player-coords
                                                            desired-space-contents
                                                            desired-coords)]))))
 

            collision-item-now-open? (= (:type updated-collision-item) "open")]
        (if collision-item-now-open?
          (merge game-state {:players updated-players
                             :dirty-arena (au/update-cell dirty-arena
                                                          collision-coords
                                                          updated-player)})
          (merge game-state {:players updated-players
                             :dirty-arena (au/update-cell dirty-arena
                                                          collision-coords

(defn- sanitize-player
  "Sanitizes the full player object returning the partial used on the game map"
  [player]
  (select-keys player [:_id :login :energy]))

(defn- save-segment
  [{:keys [_id players rounds segment-count] :as game-state}]
