@inthehands I landed on Rust because learning a new language felt overwhelming. And what do you know, for a change I'm working together with the borrow checker instead of fighting it! No unexpected mutation of something passed by reference.... It turns out that command pattern with undo is a problem that the borrow checker solves 🙂
You did get me curious about Swift, though. For when I'm feeling a little better.