(progn (setf p (MAKE-POPULATION :INITIAL-CONTENTS (LIST (COPY-LIST '(foo))))) (gc) (POPULATION-CONTENTS p)) Returns NIL as expected, but: (let (p) (setf p (MAKE-POPULATION :INITIAL-CONTENTS (LIST (COPY-LIST '(foo))))) (gc) (POPULATION-CONTENTS p)) returns ((FOO)). Is this a bug or am I missing something? rg