Some programming languages have really powerful type systems, so we’re really leaving money on the table if we don’t take full advantage of them. In the case of Rust, I believe the type system has been shown to even be Turing-complete! (That’s not an injunction to implement everything at compile-time.)
I know, for myself, coming from a JavaScript background, strict type systems seemed… restrictive, at first, but I’ve gradually grown to love and even depend on the strong guarantees provided by languages like Rust.
This is a presentation I recently gave at a work conference in article form. I’ve also recorded a YouTube video version if you prefer that format.
Great explanation for why types are a good thing. I write a language that has types but none of their advantages and it annoys me a lot.