anchor.diff:  
   ;;; Medium-specific Drawing Functions
   
  -(defmethod medium-draw-point* :around ((medium basic-medium) x y)
  +(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 basic-medium) coord-seq)
  +(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 basic-medium) x1 y1 x2 y2)
  +(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 basic-medium) coord-seq)
  +(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 basic-medium) coord-seq closed filled)
  +(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 basic-medium) left top right bottom 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 basic-medium) position-seq 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
  
positive.code:     (multiple-value-bind (center-x center-y) (ellipse-center-point* transformed-ellipse)
        (call-next-method medium center-x center-y radius start-angle end-angle filled))))
  
  (defmethod medium-draw-text* :around ((medium basic-medium) string x y
                                        start end
                                        align-x align-y
                                        toward-x toward-y transform-glyphs)
  
negative.code:                       to-drawable to-x to-y)))
  
  (defmethod medium-copy-area :around (from-drawable from-x from-y width height
                                       (to-drawable  transform-coordinates-mixin)
                                       to-x to-y)
    (with-transformed-position ((medium-transformation to-drawable)
                                to-x to-y)
  