We recently covered the with-accessors macro. That allowed the programmer to create a lexical environment in which a symbol substituted for a call to an accessor in a particular instance. The with-slots macro is essentially the same, but rather than using one of the class’ accessors, it expands into a slot-value call. We’ve discussed when slot-value is recommended, those considerations also apply, naturally, to with-slots.