Type systems as a mental tool
|
One of the superpowers of a type system is providing language (well defined mental constructs) for formally designing your APIs.
This mental tool lets you to think in a higher abstraction: the conceptual execution of your program separated from its concrete implementation.
This invariably leads to better code modularity.