anchor.diff:                             `((let ,replacements
                                  ,@code))
                              code)))
  -            (varjo:make-stage in-args
  +            (varjo:make-stage stage-type
  +                              in-args
                                 final-uniforms
                                 context
                                 body
  
positive.code:                                                       :key #'first
                                                        :test #'string=))
                                              uniforms))
                   (context (cons stage-type (remove stage-type context)))
                   (replacements
                    (loop :for (k v) :in replacements
                       :for r = (let* ((u (find k uniforms :key #'first
  
negative.code:                     (declare (ignore c))
                      (invoke-restart
                       'varjo-conditions:allow-call-function-signature))))
                (let* ((context (swap-version (lowest-suitable-glsl-version context)
                                              context))
                       (compiled
                        (first
                         (varjo:test-translate-raising
                          (varjo:make-stage nil in-args uniforms context body t)
                          :stages '(:vertex :fragment)))))
                  (setf actual-uniforms ;;[2]
                        (mapcar #'varjo:to-arg-form
                                (remove-if #'varjo:ephemeral-p
  