"I was never quite satisfied with a way to manage global tables like 'setter or uses of 'extend. In fact, I'm still pursuing a solution to these issues, but it's taking me far outside what's easy to do from within Arc (or any other language I know of)."
For what it's worth, Nulan also has that problem with the "syntax-rules" object. The way I decided to solve it is to provide a macro called "w/dict!":
(var foo (obj a 1 b 2))
(w/dict! foo
(= foo!c 5))
foo!c -> nil
Basically, any changes made to the object inside the w/dict! are not seen outside the w/dict!
So in Nulan, if a file creates some new syntax, and you want to load the file but not the syntax, you can use `w/dict! syntax-rules ...`
But, knowing you, you probably meant having these kind of object dependencies automatically detected. I don't have any good ideas for that, sorry.