anchor.diff:       ,@(loop for (name callback-type args) in callback-specs
             collect `(init-tessellation-callback ,name ,callback-type ,args))))
   
  -(defmacro with-tess-polygon ((tess-obj &optional polygon-data) &body body)
  +(defmacro with-tess-polygon ((tess-obj &optional (polygon-data nil)) &body body)
     `(progn (tess-begin-polygon ,tess-obj ,polygon-data)
             (unwind-protect (progn ,@body)
               (tess-end-polygon ,tess-obj))))
  
positive.code:           (register-callbacks obj)))))
  
  (defmethod tess-delete ((tess tessellator))
    (glu-delete-tess (glu-tessellator tess))
    (remhash (id tess) *tessellators*)
    (free-tess-data tess))
  
  (defmethod tess-begin-polygon ((tess tessellator) &optional (polygon-data nil))
    (let* ((polygon-data-id 
  
negative.code: (in-package #:cl-glu)
  
  ;;;; Polygon Tessellation
  (defconstant +nil-polygon-data-id+ 0)
  
  (defparameter *tessellators* (make-hash-table))
  
  (defparameter *tess-callbacks* '())
  