Hi!

Dynamic modules are really cool so far, but I think finalizers should not be mandatory (alloc.c):

#ifdef HAVE_MODULES
     else if (mblk->markers[i].m.u_any.type == Lisp_Misc_User_Ptr)
{
 struct Lisp_User_Ptr *uptr = &mblk->markers[i].m.u_user_ptr;
 uptr->finalizer (uptr->p); <----- should NULL-check first
}
#endif

https://github.com/emacs-mirror/emacs/blob/master/src/alloc.c#L6893

thanks.

Jess