anchor.diff:  
   (in-package "SPATIAL-TREES-IMPL")
   
  -(defparameter *kinds* '(:r :greene :r*))
  +(defparameter *kinds* '(:r :greene :r* :x))
   
   (defun make-random-rectangle (&optional (x-bias 0.0) (y-bias 0.0))
     (let* ((lx (+ (random 1.0) x-bias))
  
positive.code:          (list (loop repeat n collect (make-random-rectangle)
                       collect (make-random-rectangle -2.0 -2.0)
                       collect (make-random-rectangle 2.0 2.0)))
           (tree (make-spatial-tree :r :rectfun #'identity)))
      (dolist (r list)
        (insert r tree))
      (let ((r (make-rectangle :lows '(0.0 0.0) :highs '(1.0 1.0))))
  
negative.code:   (finish-output *trace-output*)
    (let* ((n 100)
           (list (loop repeat n collect (make-random-rectangle)))
           (tree (make-spatial-tree kind :rectfun #'identity)))
      (dolist (r list)
        (insert r tree))
      (dolist (r (cdr list))
        (delete r tree))
      (let* ((results (search (car list) tree))
             (length (length results)))
        (unless (= (length results) 1)
          (error "aargh: wrong amount of stuff (~D entries) in ~S"
                 length tree))))
    (format *trace-output* " passed.~%"))