anchor.diff:  
   (defmethod untransform-region ((transformation transformation) region)
     (transform-region (invert-transformation transformation) region))
  -  
  +
   (defmethod transform-position ((transformation standard-transformation) x y)
  -  (multiple-value-bind (mxx mxy myx myy tx ty) (get-transformation transformation)
  -    (values (+ (* mxx x) (* mxy y) tx)
  -            (+ (* myx x) (* myy y) ty))))
  +  (let ((x (coordinate x))
  +        (y (coordinate y)))
  +    (multiple-value-bind (mxx mxy myx myy tx ty)
  +        (get-transformation transformation)
  +      (declare (type coordinate mxx mxy myx myy tx ty))
  +      (values (+ (* mxx x) (* mxy y) tx)
  +              (+ (* myx x) (* myy y) ty)))))
   
   (defmethod untransform-position ((transformation transformation) x y)
     (transform-position (invert-transformation transformation) x y))
   
   (defmethod transform-distance ((transformation standard-transformation) dx dy)
  -  (multiple-value-bind (mxx mxy myx myy) (get-transformation transformation)
  -    (values (+ (* mxx dx) (* mxy dy))
  -            (+ (* myx dx) (* myy dy)))))
  +  (let ((dx (coordinate dx))
  +        (dy (coordinate dy)))
  +    (multiple-value-bind (mxx mxy myx myy) (get-transformation transformation)
  +      (declare (type coordinate mxx mxy myx myy))
  +      (values (+ (* mxx dx) (* mxy dy))
  +              (+ (* myx dx) (* myy dy))))))
   
   (defmethod untransform-distance ((transformation transformation) dx dy)
     (transform-distance (invert-transformation transformation) dx dy))
  
positive.code: (defun untransform-angle (transformation phi)
    (multiple-value-bind (rotations remainder) (ffloor phi (* 2 pi))
      (when (reflection-transformation-p transformation)
        (setq rotations  (ffloor (- 1 phi) (* 2 pi))))
      (multiple-value-bind (ix iy) (untransform-distance transformation (cos remainder) (sin remainder))
        (multiple-value-bind (x0 y0) (untransform-distance transformation 1 0)
          (let ((my-angle (atan* ix iy))
  
negative.code: (defun transform-angle (transformation phi)
    (multiple-value-bind (rotations remainder) (ffloor phi (* 2 pi))
      (when (reflection-transformation-p transformation)
        (setq rotations  (ffloor (- phi) (* 2 pi))))
      (multiple-value-bind (ix iy) (transform-distance transformation (cos remainder) (sin remainder))
        (multiple-value-bind (x0 y0) (transform-distance transformation 1 0)
          (let ((my-angle (atan* ix iy))
  