構造体の要素数を取得する - lisp-cookbook-ja/common-lisp GitHub Wiki
Common Lispの構造体は、ベクタをそのまま利用しているわけではありませんので、単純にインスタンスにlengthを適用すれば要素数が求められるわけではありません。
但し、オプションで、defstructが利用する内部の構造に、vectorか、listを利用することが可能ですので、この場合は、lengthで要素数を求めることが可能です。
(defstruct (va (:type vector))
x y)
(defstruct (vb (:type vector)
(:include va))
z)
(length (make-vb :x 1 :y 2 :z 3))
;=> 3
(defstruct (la (:type list))
x y)
(defstruct (lb (:type list)
(:include la))
z)
(length (make-lb :x 1 :y 2 :z 3))
;=> 3