anchor.diff:    (- (* (realpart z) (point-y v))
        (* (imagpart z) (point-x v))))
   
  -(defclass bezier-design (design)
  -  ((%or :accessor original-region :initform nil)
  -   (%trans :initarg :transformation
  -	   :reader transformation
  -	   :initform +identity-transformation+)))
  +(defclass bezier-design (design) ())
   
   (defgeneric medium-draw-bezier-design* (stream design))
   
  
positive.code:     :negative-areas (list r2)))
  
  (defmethod region-difference ((r1 bezier-area) (r2 bezier-union))
    (let ((tr (transformation r2)))
      (make-instance 'bezier-difference
        :positive-areas (list r1)
        :negative-areas (mapcar (lambda (r) (transform-region tr r)) (areas r2)))))
  
  (defmethod region-difference ((r1 bezier-union) (r2 bezier-area))
    (let ((tr (transformation r1)))
      (make-instance 'bezier-difference
        :positive-areas (mapcar (lambda (r) (transform-region tr r)) (areas r1))
        :negative-areas (list r2))))
  
  (defmethod region-difference ((r1 bezier-union) (r2 bezier-union))
    (let ((tr1 (transformation r1))
          (tr2 (transformation r2)))
      (make-instance 'bezier-difference
        :positive-areas (mapcar (lambda (r) (transform-region tr1 r)) (areas r1))
        :negative-areas (mapcar (lambda (r) (transform-region tr2 r)) (areas r2)))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  
negative.code:   (let ((stream (postscript-medium-file-stream medium))
          (*transformation* (sheet-native-transformation (medium-sheet medium))))
      (postscript-actualize-graphics-state stream medium :color :line-style)
      (dolist (area (areas design))
        (%draw-bezier-area stream area))))
  
  (defmethod medium-draw-bezier-design*
      ((medium postscript-medium) (design bezier-difference))
  