Destructuring that lets you ignore parts of the object is usually found in the form of pattern matching.
Lisp destructuring comes directly from macros: CL's destructuring lambda lists and macro lambda lists are closely related cousins.
Macros usually care about all their arguments. Reason being, they are designed to cater to those arguments; an unnecessary element in the syntax of a macro will just be left out from its design, rather than incorporated as a piece of structure that gets ignored. (The exceptions to it are reasonably rare that it's acceptable to just capture a variable here and there and ignore it.)
Lisp destructuring comes directly from macros: CL's destructuring lambda lists and macro lambda lists are closely related cousins.
Macros usually care about all their arguments. Reason being, they are designed to cater to those arguments; an unnecessary element in the syntax of a macro will just be left out from its design, rather than incorporated as a piece of structure that gets ignored. (The exceptions to it are reasonably rare that it's acceptable to just capture a variable here and there and ignore it.)