Yes, I think that section 19.3 makes very clear that the constructor created by a defstruct is a function. There's certainly nothing about the syntax described there that suggests that the constructor should be a macro. Looks to me like the use of the word "macro" on page 357 is wrong. -- Scott