Я понимаю, что деструктуризация в макропараметрах LISP - это хорошая вещь;Мне интересно, является ли это необходимым .Например,
(defmacro m1 (a) (car a))
и
(defmacro m2 ((a1 a2)) a1)
кажутся (примерно) эквивалентными - за исключением проверки правильной формы параметра (ов).
Я предполагаю, что деструктуризация делает код более простым для написания / понимания, но любой код, использующий его, может быть переведен в код, который этого не делает.Я прав или это глупая ошибка новичка?