I discovered that there's Svelte without magic. It's called Solid.JS, they have good presentations how it (and Swelte) works, [100sec](https://www.youtube.com/watch?v=hw3Bx5vxKl0) and [10min videos](https://www.youtube.com/watch?v=J70HXl1KhWE).
> Fwiw I did work on a "reactive" Karax with reactive variables and sequences > and a dependency graph. It's a bad abstraction because when the examples get > more complex than "todo app" it encourages infinite updates. Svelte, Solid and Elm use reactive variables and dependency graphs, and work quite well without problem. Maybe the infinite update problem could be solved by decoupling change propagation on the dependency graph from the update. When object change, it doesn't updates anything, it only propagates the change on its dependencies. And the "update" part has its own loop, that runs say 24 times/sec, check if anything has been marked as changed, and only then actually update.