Type systems are a set of rules that determine the type of a language construct.
A (good) type system will help you with:
- Making sure that the constituent parts of your program are connected in a consistent way
- Understanding your program (by reducing your cognitive load)
- Expressing business rules
- Automatic low-level optimizations
We have already covered enough ground to understand Kotlin's type system.