anchor.diff:  (defun %draw-bezier-curve (stream area)
     (format stream "newpath~%")
     (let ((segments (segments area)))
  -    (let ((p0 (slot-value (car segments) 'p0)))
  +    (let ((p0 (slot-value (elt segments 0) 'p0)))
         (write-coordinates stream (point-x p0) (point-y p0))
         (format stream "moveto~%"))
  -    (loop for segment in segments
  -          do (with-slots (p1 p2 p3) segment
  -               (write-coordinates stream (point-x p1) (point-y p1))
  -               (write-coordinates stream (point-x p2) (point-y p2))
  -               (write-coordinates stream (point-x p3) (point-y p3))
  -               (format stream "curveto~%")))
  +    (map nil (lambda (segment)
  +               (with-slots (p1 p2 p3) segment
  +                 (write-coordinates stream (point-x p1) (point-y p1))
  +                 (write-coordinates stream (point-x p2) (point-y p2))
  +                 (write-coordinates stream (point-x p3) (point-y p3))
  +                 (format stream "curveto~%")))
  +         segments)
       (format stream "stroke~%")))
   
   (defun %draw-bezier-area (stream area)
     (format stream "newpath~%")
     (let ((segments (segments area)))
  -    (let ((p0 (slot-value (car segments) 'p0)))
  +    (let ((p0 (slot-value (elt segments 0) 'p0)))
         (write-coordinates stream (point-x p0) (point-y p0))
         (format stream "moveto~%"))
  -    (loop for segment in segments
  -          do (with-slots (p1 p2 p3) segment
  -               (write-coordinates stream (point-x p1) (point-y p1))
  -               (write-coordinates stream (point-x p2) (point-y p2))
  -               (write-coordinates stream (point-x p3) (point-y p3))
  -               (format stream "curveto~%")))
  +    (map nil (lambda (segment)
  +               (with-slots (p1 p2 p3) segment
  +                 (write-coordinates stream (point-x p1) (point-y p1))
  +                 (write-coordinates stream (point-x p2) (point-y p2))
  +                 (write-coordinates stream (point-x p3) (point-y p3))
  +                 (format stream "curveto~%")))
  +         segments)
       (format stream "fill~%")))
   
   (defmethod medium-draw-bezier-design*
  
positive.code:   (let ((polygon (polygonalize area)))
      (make-instance 'bezier-union
        :areas 
        (loop for segment in (%segments path)
  	    for first = t then nil
  	    append (convolve-polygon-and-segment area polygon segment first)))))
  
  
negative.code: 
  (defmethod transform-region (transformation (design bezier-design))
    (make-instance (class-of design)
                   :segments (let ((segments (segments design)))
                               (map (type-of segments)
                                    (lambda (s)
                                      (transform-segment transformation s))
                                    segments))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  