DEFTYPE-DESTRUCTURINGDEFTYPE is not clear on the issue of whether it is supposed to support destructuring. The description in CLtL twice compares its syntax to that of DEFMACRO, leading some people to think that it does support destructuring. However, since destructuring is not explicitly mentioned, other people think it does not.
There are two proposals, YES and NO.
DEFTYPE does support destructuring of the lambda list. The lambda-list syntax for DEFTYPE is identical to that of DEFMACRO.
Rationale for proposal YES: Some people think this is the way it was really supposed to work, and that supporting destructuring makes the syntax of DEFTYPE more consistent with other defining macros.
DEFTYPE does not support destructuring of the lambda list.
Rationale for proposal NO: This requires minimal changes for implementors. The use of destructuring with DEFTYPE is rare and since some implementations do not support it now, code that relies on it working is already nonportable.
DEFTYPE, and a number of implementations have copied this behavior. Other implementations do not support destructuring in DEFTYPE.YES, fairly small, since every implementation already has support for destructuring for other parts of the language.
For proposal NO, none. Implementations that now support destructuring can continue to do so as an extension.
DEFTYPE is already not portable, but on the other hand adding destructing support shouldn't break code that doesn't use it.