anchor.diff:       :machine-unit-size size
        :members members)))
   
  -(defun calc-base-offset (parent-type-aligned-offset
  -                         last-slot-base-offset
  -                         last-slot-aligned-offset
  -                         last-slot-machine-size)
  -  (if (not last-slot-base-offset)
  -      ;; The base offset of the first member of a structure is taken from the
  -      ;; aligned offset of the structure itself
  -      parent-type-aligned-offset
  -    ;; The base offset of all other structure members is derived by taking
  -    ;; the offset of the last basic machine unit consumed by the previous
  -    ;; member and adding one
  -    ;;
  -    ;; {TODO} see rule 4 second paragraph, sounds relevent
  -    ;; {TODO} see rule 9 second paragraph, sounds relevent
  -    (+ last-slot-aligned-offset ;; which offset?
  -       last-slot-machine-size
  -       1)))
  -
  -(defun calc-scalar-layout (name
  -                           parent-type-aligned-offset
  -                           last-slot-base-offset
  -                           last-slot-aligned-offset
  -                           last-slot-machine-size
  -                           type)
  -  ;; 1. If the member is a scalar consuming N basic machine units, the
  -  ;;    base alignment is N.
  -  (let ((n (machine-unit-size type))
  -        (base-offset (calc-base-offset parent-type-aligned-offset
  -                                       last-slot-base-offset
  -                                       last-slot-aligned-offset
  -                                       last-slot-machine-size)))
  -    (make-instance
  -     'std-140
  -     :name name
  -     :type type
  -     :base-offset base-offset
  -     :aligned-offset (calc-aligned-offset base-offset n)
  -     :base-alignment n
  -     :machine-unit-size n)))
  -
  -(defun calc-vector-base-alignment (type)
  -  ;; 2. If the member is a two or four-component vector with components
  -  ;;    consuming N basic machine units, the base alignment is 2N or 4N,
  -  ;;    respectively.
  -  ;; 3. If the member is a three-component vector with components
  -  ;;    consuming N basic machine units, the base alignment is 4N.
  -  (let ((elem-type (v-element-type type)))
  -    (ecase= (first (v-dimensions type))
  -      (2 (* 2 (machine-unit-size elem-type)))
  -      (3 (* 4 (machine-unit-size elem-type))) ;; ← (* 4 …) is not a typo
  -      (4 (* 4 (machine-unit-size elem-type))))))
  -
   (defun calc-vector-layout (name
                              parent-type-aligned-offset
                              last-slot-base-offset
  
positive.code:                         last-slot-aligned-offset
                          last-slot-machine-size
                          type)))
  
  (defun calc-struct-layout (name
                             parent-type-aligned-offset
  
negative.code:   (print-unreadable-object ((v! 1 2 3) stream :identity t)
      (format stream "STD-430 ~a" (type->type-spec (layout-varjo-type obj)))))
  
  ;;----------------------------------------------------------------------
  
  (defun calc-block-layout (varjo-struct-type-name)
    (let ((type (type-spec->type varjo-struct-type-name))
          (parent-type-aligned-offset 0)
  