anchor.diff:               appending p into xp
                appending q into yq
                finally (return (list xp yq)))
  -        (plot/xy x y theme aspect legend labels width filename format)))))
  -
  -(defun plot/polar+xya (funcs theta-range theme a-values aspect samples legend labels width filename format)
  +        (plot+xy x y (theme gen) (aspect gen) (legend gen) (get-labels gen) (width gen) (filename gen) (get-format gen))))))
  +
  +(defmethod generate/a ((gen polar-xya) funcs a-values)
     "Plot functions of X and Y parameterized by a. `FUNCS` takes two arguments, theta and a. Each curve should be a pair of functions."
     (flet ((func/a (a f)
  -           (let* ((theta (loop for x from (first theta-range) to (second theta-range) by (/ (- (second theta-range) (first theta-range)) samples) collect x)))
  +           (let* ((theta (loop for x from (first (range gen)) to (second (range gen)) by (/ (- (second (range gen)) (first (range gen))) (samples gen)) collect x)))
                (loop for n in theta collecting (funcall f n a)))))
       (destructuring-bind (xfuncs yfuncs) 
           (loop for f in funcs
  
positive.code:                 
      (destroy *context*)))
  
  (defun plot/ (funcs x-axis theme aspect samples legend labels width filename format)
    "Plot Y as a funcation of X. `FUNCS` should be a function for Y given X, or a list of such functions."
    (let* ((funcs (if (listp funcs) funcs (list funcs)))
           (dx (- (second x-axis) (first x-axis)))
           (vals (loop for f in funcs collect
                      (loop for x from (first x-axis) to (second x-axis) by (/ dx samples)
                         collect (list x (funcall f x)))))
           (xvals (loop for xv in vals
                     collect (loop for x in xv collect (first x))))
           (yvals (loop for yv in vals
                     collect (loop for y in yv collect (second y)))))
      (plot/xy xvals yvals theme aspect legend labels width filename format)))
  
  (defun plot/polar (funcs theta-range theme aspect samples legend labels width filename format)
    "Plot a polar-coordinate function (or list of functions). Each function in `FUNCS` takes one arguments, theta."
    (flet ((func/r (f)
             (let* ((theta (loop for x from (first theta-range) to (second theta-range) by (/ (- (second theta-range) (first theta-range)) samples) collect x))
                    (r (loop for n in theta collecting (funcall f n))))
               (list
                (loop
  
negative.code:   (:import-from :plot2d.theme
                  :theme
                  :background
                  :palette
                  :axis-color
                  :axis-font-size
                  :label-color
  