+ ,(cond
+ ((subtypep ltype 'list)
+ `(consp (nthcdr ,name-index (the ,ltype ,argname))))
+ ((subtypep ltype 'vector)
+ `(= (length (the ,ltype ,argname))
+ ,(dd-length defstruct)))
+ (t (bug "Uncatered-for lisp type in typed DEFSTRUCT: ~S."
+ ltype)))