anchor.diff:                                                      bands)
                            (list bx1 by1 bx2 by2)))))))
   
  -(defmethod bounding-rectangle* ((self standard-polygon))
  -  (values (reduce #'min (mapcar #'point-x (polygon-points self)))
  -          (reduce #'min (mapcar #'point-y (polygon-points self)))
  -          (reduce #'max (mapcar #'point-x (polygon-points self)))
  -          (reduce #'max (mapcar #'point-y (polygon-points self)))))
  -
  -(defmethod bounding-rectangle* ((self standard-polyline))
  -  (values (reduce #'min (mapcar #'point-x (polygon-points self)))
  -          (reduce #'min (mapcar #'point-y (polygon-points self)))
  -          (reduce #'max (mapcar #'point-x (polygon-points self)))
  -          (reduce #'max (mapcar #'point-y (polygon-points self)))))
  -
   (defmethod bounding-rectangle* ((self standard-point))
     (with-slots (x y) self
       (values x y x y)))
  
positive.code: 
  (defmethod region-difference ((a standard-rectangle) (b standard-polygon))
    (polygon-op a b #'logandc2))
  
  (defun polygon-op (pg1 pg2 &optional logop)
    (let ((sps nil))
  
negative.code:       (funcall fun
                 (point-x (car q)) (point-y (car q))
                 (point-x (cadr q)) (point-y (cadr q))))))
  
  (defmethod map-over-polygon-coordinates (fun (self standard-polyline))
    (with-slots (points) self
  