Since we will need to update pointers through this interface, we need to unmark them as const. Some users of these will continue be const (e.g. incremental barriers and non-nursery-objects), however, I don't think it is worth the extra effort to double up the interface to preserve constness for these callers.
Created attachment 591996 [details] [diff] [review]
It turns out this is a fairly accurate map of the places where trivial Nursery collection is going to be problematic. Most of the things we end up needing to explicitly deconstify are hash keys for the debugger and weakmap. I'm not sure where to go with this. Thoughts?
It looks as if there are not any terribly useful steps in-between the interface cleanup and the full rewriting indirection.
I think everything here has landed in other bugs now.