and fwiw, I think the ERGONOMICS of writing "correct unsafe code" could be better in Rust, for sure. Gankra has a really good post about this. Doing it right does require: * Some less than pleasant syntax, as we don't have constructs like `->` * KNOWING what to avoid, e.g. working with pointers rather than mixing references, etc. But there are also some really good tools, like `miri` and `loom` (and `rustc` and `clippy`!) that help a lot with this. And even if you get it wrong: it's still easier to find *where* you got it wrong, if unsafe is properly encapsulated.