Yes, IMHO the VDOM was one of my biggest regrets when building React (for exactly the reasons you mentioned), and it's why I did it differently when designing Compose. Compose does not use the VDOM (users invoke composable functions instead of returning vdom, which allows us to avoid the allocations and vdom diffing).