anchor.diff:  ;;--------------------------------------------------
   
   (defclass glsl-stage-spec (gpu-func-spec) ())
  +
  +(defun get-gpu-func-spec-tag ()
  +  (bt:with-lock-held (*gpu-func-specs-lock*)
  +    (incf *gpu-func-diff-tag*)))
   
   (defun+ %make-gpu-func-spec (name in-args uniforms context body instancing
                               equivalent-inargs equivalent-uniforms
  
positive.code:                    :actual-uniforms uniforms
                     :doc-string nil
                     :declarations nil
                     :missing-dependencies nil)))
  
  (defmacro with-gpu-func-spec (func-spec &body body)
    `(with-slots (name in-args uniforms actual-uniforms context body instancing
                       equivalent-inargs equivalent-uniforms doc-string
                       declarations missing-dependencies) ,func-spec
       (declare (ignorable name in-args uniforms actual-uniforms context body
                           instancing equivalent-inargs equivalent-uniforms
                           doc-string declarations missing-dependencies))
       ,@body))
  
  (defmacro with-glsl-stage-spec (glsl-stage-spec &body body)
  
negative.code:                  :actual-uniforms actual-uniforms
                   :doc-string doc-string
                   :declarations declarations
                   :missing-dependencies missing-dependencies
                   :diff-tag (get-gpu-func-spec-tag)))
  
  (defun+ %make-glsl-stage-spec (name in-args uniforms context body-string
                                compiled)
  