Hello, copy-tree does not currently work with records: (cl-defstruct foo bar) (let* ((rec (make-foo :bar "hello")) (copy (copy-tree rec t))) (setf (foo-bar copy) "goodbye") (foo-bar rec)) Expected "hello"; actual "goodbye". Attached patch fixes this behavior. Please tell me if I misunderstand the intended behavior of copy-tree. Thank you, Joseph