I agree with Piazza's sentiment that it is not reasonable to expect macros to comprehend the semantics of declarations. This appears to be another reason why SYMBOL-MACROLET ought to be a special form; then it could accept declarations, and WITH-SLOTS could just pass them through. (But I'm not necessarily endorsing the notion that type declarations need to be supported here.) -- David Gray