FSet (a CL library) has a great defence of default types being immutable with value semantics. https://common-lisp.net/project/fset/Site/index.html