We've had a great experience building a mid-size app with re-frame. Sure, writing subscription and event handlers and wiring it all together seems like a lot of boilerplate when you could just fetch().then(), but in the long run the architecture really pays off.
It's not perfect, I do lament the boilerplateyness myself, but I have not seen anything better in my decade of web dev.