anchor.diff:                          (switch fsm :placing-twice-n)))
                   :placing-twice-n
                   (:place ((fsm where amount)
  +                         (declare (ignorable fsm))
                            (place-armies game where amount))
                    :done ((fsm)
                           (pass-placing fsm 10 :placing-n 5)))
                   :placing-n
                   (:place ((fsm where amount)
  +                         (declare (ignorable fsm))
                            (place-armies game where amount))
                    :done ((fsm)
                           (pass-placing fsm 5 :attacking)
                           (reset-movable-armies game)))
                   :attacking
                   (:attack ((fsm from to)
  +                          (declare (ignorable fsm))
                             (attack game from to))
                    :done ((fsm)
                           (switch fsm :regrouping)))
                   :regrouping
                   (:move ((fsm from to amount)
  +                        (declare (ignorable fsm))
                           (move-armies game from to amount))
                    :done ((fsm)
                           (switch fsm
  
positive.code: 
  (defclass* game ()
    ((game-map nil r)
     (players nil r)
     (fsm nil)
     (players-round nil)
     (turn-player nil)
     (pending-armies nil r)))
  
  (defmethod initialize-instance ((game game) &key game-map players)
    (with-slots ((the-game-map game-map)
                 (the-players players)
                 (the-players-round players-round)
  
negative.code:                             :attacking))))
                  :placing
                  (:place ((fsm where amount)
                           (declare (ignorable fsm))
                           (place-armies game where amount))
                   :done ((fsm)
                          (pass-placing fsm
  