Non-Global View States in Swift Composable Architecture

The problem with @Environment and @EnvironmentObject, and the reason why TCA doesn't use it, is that it triggers a refresh on all the views which subscribe to it, which isn't good for performance. I tried to solve this by only triggering a refresh when only certain state, specified by the user, was mutated, but I wasn't able to find a solution.

I also, much like you, prefer using @ObservedObject over WithViewStore. Problem is it requires 5 lines of code compared to 2. I'm trying to solve this with a property wrapper on another thread, I'd love to hear your input!