I like types in my languages because it’s a compact way of saying how you intend the parts to be used. How you want them to work together. What they can do. A good type system, good names, and a decent editor — you’ll be able to write bigger programs and you’ll have fewer bugs.
Sure, experienced programmers can write bigger programs with less bugs, but a team has all levels of skill. Types make a difference. #cpp used to be my favorite language in this department because it combined flexible readable types and the power to essentially build a #dsl domain specific language that the whole team can use regardless of skill level. Adding types to #Python is a huge improvement to the language. #Rust’s type system can say more things than C++ or Python. And they’re useful things.
I don’t know enough yet to tell if Rust can build APIs the whole team can use; and it definitely has some deficiencies compared to Python (Python can use parameter names at the call site and has default arguments). But I like Rust’s type system better than C++’s.
I still have so much to learn.