Agreed, but we've been doing a lot of R&D discovering new ways of doing things. Dioxus was the first Rust framework to do template-based hotreloading and we couldn't have predicted that was even possible 2 years ago.
The Copy-state stuff also seemed impossible a year ago, so no way to plan ahead. Now, I think things have matured enough that there's hopefully not a major major rewrite for a long time.
I think we had a prototype of it a long time ago but couldn't figure out how to implement drop. Leptos came out but just leaked the runtime in its initial rev. We figured we could safely recycle the runtimes and voila, problem solved.
If you have to rewrite your code once a year, maybe it helps to plan ahead before coding.
But, if you can rewrite your code once a year, you might not have too much code to worry about.