anchor.diff:                              :attacking))))
                   :placing
                   (:place ((fsm where amount)
  +                         (declare (ignorable fsm))
                            (place-armies game where amount))
                    :done ((fsm)
                           (pass-placing fsm
  
positive.code:                         (switch fsm :placing-twice-n)))
                  :placing-twice-n
                  (:place ((fsm where amount)
                           (place-armies game where amount))
                   :done ((fsm)
                          (pass-placing fsm 10 :placing-n 5)))
                  :placing-n
                  (:place ((fsm where amount)
                           (place-armies game where amount))
                   :done ((fsm)
                          (pass-placing fsm 5 :attacking)
                          (reset-movable-armies game)))
                  :attacking
                  (:attack ((fsm from to)
                            (attack game from to))
                   :done ((fsm)
                          (switch fsm :regrouping)))
                  :regrouping
                  (:move ((fsm from to amount)
                          (move-armies game from to amount))
                   :done ((fsm)
                          (switch fsm
  
negative.code:           (typecase game-map
              (game-map game-map)
              (t (read-map game-map))))
      (dolist (name players)
        (pushnew (add-player game name) the-players-round))
      (setf the-players-round (reverse the-players-round))
      (nconc the-players-round the-players-round)
      (setf the-turn-player the-players-round)
      (setf the-fsm
            (flet
              ((pass-placing (fsm old-armies new-state
  