>The first example is the swap procedure, whose naive implementation gets accepted by our rules. Note that there is no way of implementing a swap function in Rust.
<our rules do not handle as much features as Rust’s borrow-checker, but allows more constructs than Rust
<Initialization checks are similarly done by Rust’s borrow-checker in a safe way, whereas our rules only catch some uninitialized variable usage
<Nullity-checking is also a built-in feature of Rust (there a no safe null pointers in Rust), whereas we allow them,
<Another interesting design choice we made, is to ban borrows or observes inside a block, whereas Rust allows it.
excitement level: deflating