anchor.diff:  (defmacro define-tessellation-callbacks (&body callback-specs)
     `(progn
        (setq *tess-callbacks* '())
  -     ,@(loop for (name callback-type args) in callback-specs 
  +     ,@(loop for (name callback-type args) in callback-specs
             collect `(define-tessellation-callback ,name ,callback-type ,args))))
   
   (define-tessellation-callbacks
  
positive.code:   (tess-end-data-callback :end-data ((polygon-data :pointer)))
    (tess-vertex-data-callback :vertex-data ((vertex-data :pointer) (polygon-data :pointer)))
    (tess-error-data-callback :error-data ((error-number :unsigned-int) (polygon-data (:pointer :void))))
    (tess-combine-data-callback :combine-data ((coords (:pointer %gl:double)) 
                                               (vertex-data (:pointer %gl:double)) 
                                               (weight (:pointer %gl:float)) 
                                               (out-data :pointer) 
                                               (polygon-data :pointer))))
  
  (defclass tessellator ()
  
negative.code:                ,@callback-body)
              `(defcallback ,tessellation-callback :void ,args
                 (,name *active-tessellator* ,@arg-names)))
         (push (make-tess-callback :name ,tessellation-name :generic-function #',name
                                   :callback ',tessellation-callback :callback-type ,callback-type
                                   :arg-count ,(length args))
               *tess-callbacks*))))
  