anchor.diff:         ;; string at the end. The string is a declaration of what the name of the
          ;; var will be in glsl. This feature is intended for use only by the compiler
          ;; but I see not reason to lock this away.
  -       (every #'keywordp (cddr (if (stringp (car (last arg))) (butlast arg) arg))))
  +       (every #'keywordp (in-arg-qualifiers arg)))
       (error "Declaration ~a is badly formed.~%Should be (-var-name- -var-type- &optional qualifiers)" arg))
     t)
   
  
positive.code:   (if previous-stage
        (with-stage () stage
          (list (if (args-compatiblep stage previous-stage)
                    (mapcar λ(append (if (stringp (lastr %))
                                         (butlast %) %)
                                     (list (lastr %1)))
                            in-args (out-vars previous-stage))
                    (error 'args-incompatible in-args (out-vars previous-stage)))
                uniforms
                context
                code))
        stage))
  
  (defun compile-stage (accum stage)
    (destructuring-bind (last-stage remaining-stage-types)
  
negative.code: (defun process-in-args (code env)
    "Populate in-args and create fake-structs where they are needed"
    (let ((in-args (v-raw-in-args env)))
      (loop :for in-arg :in in-args :do
         (with-in-arg (name type qualifiers declared-glsl-name) in-arg
           (let* ((type (if (and (not (type-specp type))
                                 (vtype-existsp (sym-down type)))
                            (sym-down type)
                            type))
                  (type-obj (type-spec->type type :place t))
                  (glsl-name (or declared-glsl-name (safe-glsl-name-string name))))
             (if (typep type-obj 'v-struct)
                 (add-fake-struct name glsl-name type-obj qualifiers env)
                 (progn
                   (add-var name (make-instance 'v-value :type type-obj
                                                :glsl-name glsl-name)
                            env t)
                   (setf (v-in-args env)
                         (append (v-in-args env)
                                 `((,name ,(type->type-spec type-obj) ,qualifiers
                                          ,glsl-name)))))))))
      (values code env)))
  
  ;;----------------------------------------------------------------------
  