Pip Cet wrote: > + case PVEC_FINALIZER: > + VECTOR_MARK (ptr); > + mark_object (XFINALIZER (obj)->function); > + break; > + > > Isn't that precisely what the default code does? > > Similarly for bool vectors, misc ptrs, and user ptrs. Thanks for mentioning that opportunity for further simplification. Followup patch attached. > I'm curious what ideas you have for the newly freed Lisp_Type tag. I had been thinking of using it for immediate floats, if we want to insist on full IEEE double semantics for Emacs Lisp. But if there's something more important, we can use it for that instead.