anchor.diff:        )))
   
   (defmacro populate-vars ()
  -  (let ((vars (mapcar λ(destructuring-bind
  +  (let ((vars (mapcar (lambda (_)
  +                        (destructuring-bind
                                (&key lisp-name name type place-p versions
                                      (stage t) &allow-other-keys) _
                            (declare (ignore versions))
                            (assert lisp-name)
                            (let* ((lisp-name (intern lisp-name :vari.glsl))
                                   (lisp-type (parse-gl-type-name type)))
  -                           `(,stage ,lisp-name ,name ,lisp-type ,place-p)))
  +                           `(,stage ,lisp-name ,name ,lisp-type ,place-p))))
                         (append *definitions-missing-from-glsl-spec*
                                 glsl-spec:*variables*))))
   
  
positive.code:          ',(mapcar (lambda (stage-name stage-type-name)
                       (cons stage-type-name
                             (mapcar #'rest (remove-if-not
                                             λ(eq stage-name _)
                                             vars :key #'first))))
                     (cons t *stage-names*)
                     (cons t *stage-type-names*)))
  
negative.code: (in-package :vari.glsl)
  
  (eval-when (:compile-toplevel :load-toplevel :execute)
    (defvar *definitions-missing-from-glsl-spec*
  