I wish I understood more of where the `env' member is used on userdata:
I was looking into see how easy of a change it would be to allow setting another userdata as the env to a userdata. I had previously thought it was something pretty low-level, only known to the GC, but now that I look at it I think I will have to concede that my idea is inappropriate. :\ Just very serious where a userdata's env member takes affect. I like Roberto's idea to associate a table containing all the pair userdatas with the linked userdata as the key and ~weakly-pair~ it. That's definitely a solution I like, but I'm hoping someone with more core experience can fill me in on what a userdata's env might do apart from be set and accessible with get/setuservalue()
:-)