anchor.diff:        )
      )
      (setf *avail* (remove move *avail*))
  -   (if report format t "end heuristic player move~%")
  +   (if report (format t "end heuristic player move~%"))
      move
   )
   
  
positive.code:          )
        )
        (setf *play-so-far* (snoc move *play-so-far*))
        (if (game-over-p *play-so-far) return nil)
     )
     (cond
        ((eq (analyze *play-so-far* 'w)
           (cond
              ((eq *most-recent-hmp-move 'random)
                 (setf *nr-random-moves-wins-by-hmp* (+ 1 *nr-random-moves-wins-by-hmp*))
              )
              ((eq *most-recent-hmp-move 'heuristic)
                 (setf *nr-heristic-move-wins-by-hmp* (+ 1 *nr-heristic-move-wins-by-hmp*))
              )
           )
        )
        *play-so-far*
        )
     )
  )
  
  ; predicate to determine if the play is over or not
  
negative.code: (defmethod make-rule ( (l list) )
     (setf if-part (list 'prefix 'of l 'matches 'the 'play 'so 'far))
     (setf then-part (list 'select 'move 'from l))
     (list 'if if-part 'then then-part)
  )
  
  (defmethod add-rule ((p heuristic-machine-player) (l list))
  