I prefer mandatory static types + type inference. It <i>is</i> a productivity boost if you&#x27;re allowed to skip entering type names for local vars. If you ever want to change anything meaningful in a large system, you better have meaningful compile-time checks. The only downside is longer build times, but tools are improving. Outside of legacy projects (Linus loves C! and fantastic library ecosystems for scripting languages) I don&#x27;t see any future for languages without static typing + inference.