anchor.diff:  ;; ----------------------------------------
   ;;  Undo the most recently played move
   (defun undo-move! (game)
  -  (format t "UNDO-MOVE ~A~%" game)
     (let* ((captured 0)
  -        (move (pop (gg-move-history game)))
  -        (pos (svref move 0))
  -        (player (gg-whose-turn? game)))
  +         (move (pop (gg-move-history game)))
  +         (pos (svref move 0))
  +         (player (gg-whose-turn? game))
  +         (opponent (- 1 player))
  +         )
   
       ;; Unless the previous move was a pass
       (unless (= *board-size* pos)
  -      
  +
         ;; Remove the piece from the board and from player's groups
         (pull-piece! game pos)
   
  
positive.code:             ;; Increment the capture flag
              (setq captured (+ 1 captured))
              ;; Capture the group
              (capture-group! group game player))
            (when (= 1 (length (group-pieces group)))
              (setf (gg-ko? game) t)))
  
  
negative.code: ;;  INPUTS
  ;;  SIDE-EFFECT: Destructively modify the game state by 
  ;;          capturing GROUP
  (defun capture-group! (group game)
    ;;(format t "Capture group: ~A ~%" group)
    (let* ((player (gg-whose-turn? game))
           (opponent (- 1 player))
           )
      ;; Remove the groups from the opponent's groups
      (setf (svref (gg-groups game) opponent) 
            (delete group (svref (gg-groups game) opponent)))
  