anchor.diff:  #|
   Sample output for input:
    (define-tessellation-callback
  -		    tess-begin (tesselator (type  tessellation-type)))
  +		    tess-begin (tessellator (type  tessellation-type)))
   
    (DEFGENERIC TESS-BEGIN
  -     (TESSELATOR TYPE))
  +     (TESSELLATOR TYPE))
    (DEFCALLBACK %TESS-BEGIN
       :VOID
       ((TYPE TESSELLATION-TYPE))
  
positive.code: 	 do `(define-tessellation-callback ,name ,args))))
  
  (define-tessellation-callbacks
    (tess-begin (tesselator (type  tessellation-type)))
    (tess-edge-flag (tesselator (flag  %gl:boolean)))
    (tess-vertex (tesselator (vertex-data :pointer)))
    (tess-end (tesselator))
    ;;TODO error enum
    (tess-error (tesselator (error-number %gl:enum)))  
    ;:TODO add body to convert to arrays
    (tess-combine (tesselator (coords :pointer) (vertex-data :pointer) (weight :pointer) (out-data :pointer)))
    (tess-begin-data (tesselator (type %gl:enum) (polygon-data :pointer)))
    (tess-edge-flag-data (tesselator (flag %gl:boolean) (polygon-data :pointer)))
    (tess-end-data (tesselator (polygon-data :pointer)))
    (tess-vertex-data (tesselator (vertex-data :pointer) (polygon-data :pointer)))
    ;;TODO error enum
    (tess-error-data (tesselator (error-number %gl:enum) (polygon-data :pointer)))
    (tess-combine-data (tesselator (coords :pointer) (vertex-data :pointer) (weight :pointer) (out-data :pointer) (polygon-data :pointer)))
  
  (defclass tessellator ()
    ((glu-tessellator :reader glu-tessellator)))
  
negative.code:   (tess-begin-contour tess))
  
  (defmethod vertex ((tess tessellator) coords vertex-data)
    (tess-vertex tess coords vertex-data))
  
  (defmethod end-contour ((tess tessellator))
    (tess-end-contour tess))
  