I think the reason for static types is up to the user of static types. There may be multiple reasons or motivations for static typing. In particular, static linear type systems are useful for, in addition to other reasons, the ability to fully specify the creation, usage, and consumption of resources. This is a direct performance benefit. Incidentally, this can be said of substructal types in general. Types equipped with Algebraic effects for the management of ‘side-effects’ and uniqueness types also are useful for direct specification of several things, one of them being the soundness if updating data structures in place. Again, a direct performance benefit.
I agree that there are more reasons than performance to advocate static typing, I just don’t understand why that would not be a point of advocacy in a discussion about the pros and cons of typing systems in general.
I agree that there are more reasons than performance to advocate static typing, I just don’t understand why that would not be a point of advocacy in a discussion about the pros and cons of typing systems in general.