> And YAGNI always applies, to some degree, because you can always build back up to some approximation of the "gotta have" abstraction from cruder primitives.
What I was saying with point (2) is that this is explicitly not true for Rust.
Yes and no - it's a tradeoff abstraction. The borrow checker is a whole-language design directive, and its strength comes from giving up something in other areas - in this case, having to use generics everywhere. A language, as I said, is mostly made up of these intentional tradeoffs to try to find an appropriate balance.
You can still express the abstractions of Rust through another language, though it may take writing another compiler on top to actually do so - they just won't hold the same utility, because the utility of this abstraction is mainly tied to the "zero-cost" implementation method, not to whether it has expressive powers.
What I was saying with point (2) is that this is explicitly not true for Rust.