 
 (defn restore-history-from-serialization [history]
   [history]
-  (reduce (fn [acc turn] (restore-history-turn-from-serialization acc turn)) history (rest (turns history))))
+  (reduce restore-history-turn-from-serialization history (rest (turns history))))
 
 (defn save-simulation-result-fressian [simulation-result history-filename]
   (let [ bytes (to-serialized-bytes (prepare-history-for-serialization simulation-result))

(defn prepare-history-for-serialization
  "We replace elements unchanged from turn to turn with :unchanged"
  [history]
  (reduce (fn [acc turn] (prepare-history-turn-for-serialization acc turn)) history (rest (turns history))))

(defn- restore-game-from-serialization
  "Return game, updated"

    (fn [game group-id]
      (let [current-pe (political-entity-at history t group-id)
            prev-pe    (political-entity-at history prev-t group-id)]
        (if-not (nil? prev-pe)
          (if (= (.culture current-pe) (.culture prev-pe))
            (let [updated-pe (assoc current-pe :culture :unchanged)]
              (update-political-entity game (.id updated-pe) (fn [_ _]  updated-pe)))
