So I realised my whole clever memory management idea is pretty fucked - or at least is going to be *waayyy* more convoluted than I originally thought.
Because with the current idea, it can be broken with an `addChild` method that takes 2 objects and puts one in the other, because it can't know where the objects came from, it can't realise they're from different scopes.
It would be a lot of work to setup, but I'm honestly pretty interested to see how well it would work.
What I expect is likely to happen is that - because of the inheritance - basically every function would end up disallowing any parameters from having differing scopes, but because the assignment only goes one way, the objects can exist in different scopes if the lower is put in the higher. I'm intrigued, so I'm still going to try it, but I'm not as sure on committing to it yet.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!