anchor.diff:                 ,@callback-body)
               `(defcallback ,tessellation-callback :void ,args
                  (,name *active-tessellator* ,@arg-names)))
  -       (push (make-tess-callback :name ,tessellation-name :generic-function #',name 
  +       (push (make-tess-callback :name ,tessellation-name :generic-function #',name
                                    :callback ',tessellation-callback :callback-type ,callback-type
                                    :arg-count ,(length args))
                *tess-callbacks*))))
  
positive.code:   (gl:end))
  
  (defun register-callbacks (tess)
    (loop for tess-callback in *tess-callbacks*      
       when (compute-applicable-methods 
             (tess-callback-generic-function tess-callback) 
             (cons tess (loop repeat (tess-callback-arg-count tess-callback) collect t)))
       do (glu-tess-callback (glu-tessellator tess) 
                             (tess-callback-callback-type tess-callback)
                             (get-callback (tess-callback-callback tess-callback)))))
  
  (defun free-tess-data (tess)
    "Free data allocated with tess-vertex"
    ;; (loop for pointer in (data tess)
    ;;    when (and (pointerp pointer) 
    ;;              (not (null-pointer-p pointer)))
    ;;    do (when (and (pointerp (mem-ref pointer '%gl:double)) 
    ;;                  (not (null-pointer-p (mem-ref pointer '%gl:double))))
    ;;         (foreign-free (mem-ref pointer '%gl:double)))
    ;;      (foreign-free pointer))
    (setf (data tess) nil))
  
  (defun save-data-to-free (data-to-free tess)
  
negative.code: (defmacro define-tessellation-callbacks (&body callback-specs)
    `(progn
       (setq *tess-callbacks* '())
       ,@(loop for (name callback-type args) in callback-specs
            collect `(define-tessellation-callback ,name ,callback-type ,args))))
  
  (define-tessellation-callbacks
  