WITH-STRUCT is the WITH-SLOTS pendant for structures. I think there are
different syntactic variants out there. I'm used to the one in SWANK
which looks as follows:
(defstruct (foo-struct (:conc-name foo-struct.))
slot1 slot2 slot3)
(with-struct (foo-struct. slot1 slot2 slot3) *foo-struct*
...)
-T.