anchor.diff:  
   ;;; Fall-through Methods For Multiple Objects Drawing Functions
   
  -(defmethod medium-draw-points* ((medium basic-medium) coord-seq)
  +(defmethod medium-draw-points* ((medium transform-coordinates-mixin) coord-seq)
     (let ((tr (invert-transformation (medium-transformation medium))))
       (with-transformed-positions (tr coord-seq)
         (do-sequence ((x y) coord-seq)
   	(medium-draw-point* medium x y)))))
   
  -(defmethod medium-draw-lines* ((medium basic-medium) position-seq)
  +(defmethod medium-draw-lines* ((medium transform-coordinates-mixin) position-seq)
     (let ((tr (invert-transformation (medium-transformation medium))))
       (with-transformed-positions (tr position-seq)
         (do-sequence ((x1 y1 x2 y2) position-seq)
   	(medium-draw-line* medium x1 y1 x2 y2)))))
   
  -(defmethod medium-draw-rectangles* ((medium basic-medium) coord-seq filled)
  +(defmethod medium-draw-rectangles* ((medium transform-coordinates-mixin) coord-seq filled)
     (let ((tr (invert-transformation (medium-transformation medium))))
       (with-transformed-positions (tr coord-seq)
         (do-sequence ((x1 y1 x2 y2) coord-seq)
  
positive.code:                                                        t filled))
                                 position-seq))))
  
  (defmethod medium-draw-ellipse* :around ((medium basic-medium) center-x center-y
                                           radius-1-dx radius-1-dy radius-2-dx radius-2-dy
                                           start-angle end-angle filled)
    (let* ((ellipse (make-elliptical-arc* center-x center-y
  
negative.code: 
  ;;; Medium-specific Drawing Functions
  
  (defmethod medium-draw-point* :around ((medium transform-coordinates-mixin) x y)
    (let ((tr (medium-transformation medium)))
      (with-transformed-position (tr x y)
        (call-next-method medium x y))))
  
  (defmethod medium-draw-points* :around ((medium transform-coordinates-mixin) coord-seq)
    (let ((tr (medium-transformation medium)))
      (with-transformed-positions (tr coord-seq)
        (call-next-method medium coord-seq))))
  
  (defmethod medium-draw-line* :around ((medium transform-coordinates-mixin) x1 y1 x2 y2)
    (let ((tr (medium-transformation medium)))
      (with-transformed-position (tr x1 y1)
        (with-transformed-position (tr x2 y2)
          (call-next-method medium x1 y1 x2 y2)))))
  
  (defmethod medium-draw-lines* :around ((medium transform-coordinates-mixin) coord-seq)
    (let ((tr (medium-transformation medium)))
      (with-transformed-positions (tr coord-seq)
        (call-next-method medium coord-seq))))
  
  (defmethod medium-draw-polygon* :around ((medium transform-coordinates-mixin) coord-seq closed filled)
    (let ((tr (medium-transformation medium)))
      (with-transformed-positions (tr coord-seq)
        (call-next-method medium coord-seq closed filled))))
  
  (defmethod medium-draw-rectangle* :around ((medium transform-coordinates-mixin) left top right bottom filled)
    (let ((tr (medium-transformation medium)))
      (if (rectilinear-transformation-p tr)
          (multiple-value-bind (left top right bottom)
              (transform-rectangle* tr left top right bottom)
            (call-next-method medium left top right bottom filled))
          (medium-draw-polygon* medium (list left top
                                             left bottom
                                             right bottom
                                             right top)
                                t filled))) )
  
  (defmethod medium-draw-rectangles* :around ((medium transform-coordinates-mixin) position-seq filled)
    (let ((tr (medium-transformation medium)))
      (if (rectilinear-transformation-p tr)
          (loop for (left top right bottom) on position-seq by #'cddddr
  