I *really* would like to avoid increasing the size of a `jsdisp_t` at all, honestly, because this is just for `WeakMaps` out of all objects, and seems way overkill for such a small case (but it would impact literally every object).
There are solutions that don't require anything in jsdisp_t (perhaps just a flag to know that we should expect weak refs). You could have, for example, a global map that would map jsdisp_t to a list of weak ref entries.