anchor.diff:    (or (v-typep type 'v-number)
         (v-typep type 'v-bool)))
   
  +(defun calc-aligned-offset (base-offset base-alignment)
  +  ;; A structure and each structure member have a base offset and a base
  +  ;; alignment, from which an aligned offset is computed by rounding the
  +  ;; base offset up to a multiple of the base alignment
  +  (round-to-next-multiple base-offset base-alignment))
  +
  +(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-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))))))
  +
   ;;----------------------------------------------------------------------
  
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)
  