I wasn&#x27;t comparing Nim to Rust&#x27;s goals, I was comparing it to my &quot;sweet spot&quot;.<p>From everything I have read (I&#x27;ve followed the development quite closely since it was first announced), Rust&#x27;s safety comes at a significant cost to the developer, in ways that prevent it from scaling down.<p>You guys are doing a terrific job, don&#x27;t get me wrong. But from my perspective this looks like a costly design mistake. Looseness is the key to being able to scale down, and strictness is its antithesis. Rust just doesn&#x27;t offer a forgiving mode that approaches the kind of ergonomy you get from a less strict, garbage-collected language.<p>I think Nim made a better, more flexible choice, in offering a kind of graduated safety — you can restrict functions (for immutability, memory safety, exception handling, etc.), but the default is wide open. In my experience, this correlates to the top-down structure of programs: You want the foundation (runtime, stdlib etc.) to be as hardened as possible, because you can afford to spend lots of time on it, since it&#x27;s the most used code that needs to be the most stable over a longer period of time. Towards the top layers everything should be able to decide whether it wants to be sloppy (fast to develop, but unsafe) or strict (slow but guaranteed to be correct).