In his online book, Iced (the GUI library) explains that the Model-View-Update design pattern fits well with Rust because it is suited to purely functional languages. And libcosmic (based on Iced) in its own book goes even further: MVU adheres to Rust's “aliasing XOR mutability” rule².
BTW I realize that MVU is not limited to simple apps if associated with an async mechanism.
¹ https://book.iced.rs/architecture.html (see "The Elm Architecture")
² https://pop-os.github.io/libcosmic-book/mvu.html