GC works great in practice, but as you say it isn&#x27;t provable. Likewise, Rust goes a long way towards preventing deadlocks in practice, but that also isn&#x27;t provable. All I&#x27;m talking about here are guarantees. Rust&#x27;s type system guarantees that there are no data races; that&#x27;s firm bedrock that I can rely upon. I can&#x27;t rely on there being no deadlocks just as I can&#x27;t rely on a garbage collector actually returning any memory. That doesn&#x27;t mean these tools aren&#x27;t useful in practice, only that I have to take their failure modes into consideration if I want to write correct programs.