None of the tools we use is ideal.
I think that the success of redux is in its simpliciy (regardless of what you’ve sarcastically mentioned), timing and PR — when it was released there was vacuum in simple state management tools.
The example of shopping cart is artificial— if you know it would be few shopping carts, just enumerate their state.
Take a look at redux-ui lib — it solves the problem of encapsulation you have mentioned and is very similar to what you’ve done.
Don’t be fooled by the critics — it is a great read and breakdown of redux cons!