I opted for putting the check in PARSE-DEFMACRO so that other users of that gain the benefit of this as well, and added an utility function for signalling simple-type-errors: there are plenty of places that could use that instead of doing keyword calls...