I've been using Immer which relies on proxies to give you a plain object interface but also copy on write immutability.
It's very nice and I think is a practical example of when proxies make sense. However it does at times suffer from the cost of doing magic: you handle them in unusual ways and suddenly they break a lot.
Yea, you’re right, I can see that working in the right context. These ARE essentially DSLs, though, so their success largely depends on hard to define things like documentation, coupling, and quarantining to expected places.
It's very nice and I think is a practical example of when proxies make sense. However it does at times suffer from the cost of doing magic: you handle them in unusual ways and suddenly they break a lot.