1) в целом логично, но pcase-ом удобно разбирать ast 2) объеб происходит даже если жахнуть pp-macroexpand-last-sexp в macroexpand и избавиться от pcase 3) в целом код валидный, вызов не должен происходить до этапа макроподстановки
такой ui для комплексных команд, когда ты можешь затюнить поведение команды до его запуска. в GUI это какое-нибудь окошко с баттонами и чеками и кнопкой [OK] а в емаксе - transient