anchor.diff:                           (s 0 3 6) (s 1 4 7) (s 2 5 8) ; vertical
                            (s 0 4 8) (s 2 4 6)))         ; X
   
  -(defun state (x-o)
  -  (let ((sum 0))
  -    (dotimes (i *cell-count*)
  -      (when (string= x-o (cell-text i))
  -        (incf sum (s i))))
  -    sum))
  +(let (latest)
  +  (defun state (x-o)
  +    (let ((sum 0))
  +      (dotimes (i *cell-count*)
  +        (when (string= x-o (cell-text i))
  +          (incf sum (s i))))
  +      (setf latest sum)))
  +  (defun latest-state ()
  +    latest))
   
   (defun check-win ()
     (dolist (x-o '("X" "O"))
  
positive.code: 
  (defun blink-row ()
    (dotimes (n 2)
      (qsleep 0.15) ; a SLEEP processing Qt events
      (unmark-row nil)
      (qsleep 0.15)
      (unmark-row nil "orange")))
  
  (defun add-to-history ()
  
negative.code:     (h:hset web-element :text (x-o))
      (check-win)
      (when (and (not (won))
                 (or (eql :computer *player-1*)
                     (eql :computer *player-2*)))
        (computer-move))))
  
  (defun s (&rest numbers)
    "Sum of binary shifted numbers."
  