See the README there for what's offered and usage instructions. If anything is unclear please ask.
I'll add it to the dumping grounds as soon as I get a wiki account (the captcha in the page that creates one is currently broken.)
I could think of more functionality to add (e.g.
pointers to primitive values, or array support). They shouldn't be hard
to implement, but I'll do so only if and when someone asks for them. The
same applies to any changes in the interface.
For this version I have come back full circle to the approach that uses wills. So the caveat mentioned in other threads applies: *don't take weak references (wills or weak keys or values of tables) of foreign objects*. Or, to be more precise, don't try and access foreign objects obtained from this library that have ever been weakly reachable, unless you know what you're doing. But the stronger restriction is easier to follow. If this is a problem for you please let me know. And if it's not and you're totally fine with this, please let me know too! There are other ways to implement this, and I want to gauge whether there's a need for a different approach.
Happy scheming!