I'm going to start making occasional posts about the resurrected Dada language (see https://smallcultfollowing.com/babysteps/series/dada/) from Niko Matsakis. It has gradually typed roots, but is now implementing a new borrowing model that is significantly distinct from Rust. I would say that it has much more of an Algol feel, compared to Rust's C++ feel.
To start off with an interesting syntactic choice, Dada makes immutable references the default everywhere, so that using a value mutably requires marking it explicitly with `!`, and transferring ownership requires `.give` e.g. `array!.push(element.give)`.