anchor.diff:                          align-x align-y toward-x toward-y
                           transform-glyphs))))
   
  -(defmethod medium-copy-area :around ((from-drawable basic-medium)
  +(defmethod medium-copy-area :around ((from-drawable transform-coordinates-mixin)
                                        from-x from-y width height
                                        to-drawable to-x to-y)
     (with-transformed-position ((medium-transformation from-drawable)
  
positive.code: 
  ;;; MEDIUM class
  
  (defclass basic-medium (medium)
    ((foreground :initarg :foreground
                 :initform +black+
                 :accessor medium-foreground)
  
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
  