anchor.diff:    :args-valid t
     :return
     (values
  -   (let ((body-objs (loop :for code :in body :collect
  -                       (multiple-value-bind (code-obj new-env)
  -                           (varjo->glsl code env)
  -                         (when new-env (setf env new-env))
  -                         code-obj))))
  -     (let ((last-obj (last1 body-objs)))
  -       (merge-obs body-objs
  -                  :type (code-type last-obj)
  -                  :current-line (current-line last-obj)
  -                  :to-block (merge-lines-into-block-list body-objs)
  -                  :multi-vals (multi-vals (last1 body-objs)))))
  +   (if body
  +       (let ((body-objs (loop :for code :in body :collect
  +                           (multiple-value-bind (code-obj new-env)
  +                               (varjo->glsl code env)
  +                             (when new-env (setf env new-env))
  +                             code-obj))))
  +         (let ((last-obj (last1 body-objs)))
  +           (merge-obs body-objs
  +                      :type (code-type last-obj)
  +                      :current-line (current-line last-obj)
  +                      :to-block (merge-lines-into-block-list body-objs)
  +                      :multi-vals (multi-vals (last1 body-objs)))))
  +       (make-instance 'code :type (type-spec->type :none)))
      env))
   
   (v-defspecial :progn1 (&rest body)
  
positive.code:          (arg-glsl-names (loop :for (name) :in raw-args :collect
                              (safe-glsl-name-string (free-name name))))
           (body-obj (varjo->glsl `(,(if mainp 'progn '%clean-env-block)
                                     (%env-multi-var-declare ,args nil ,arg-glsl-names)
                                     ,@body) env))
           (glsl-name (safe-glsl-name-string (if mainp name (free-name name))))
           (primary-return (first (returns body-obj)))
  
negative.code:     (error "Code not ascertain the type of the stemcell used in the let form:~%(~a ~a)"
             (string-downcase var-name) (current-line code-obj)))
    (when (and (null type) (null code-obj))
      (error "Could not establish the type of the variable: ~s" var-name))
    (when (and code-obj type (not (v-type-eq (code-type code-obj) type)))
      (error "Type specified does not match the type of the form~%~s~%~s"
             (code-type code-obj) type))
  