While this is an interesting idea in theory, I’m not sure how it would work in practice without involving a ton of extra overrides, tagging, etc.
– What defines a scope?
– An object and all of its dependent usages could be one scope, or they could each be their own independent scope.
– How do you know passing an object into a different scope won’t modify it?
– It could get expensive to check or to create clones of objects everywhere they get passed just to read state off of it.