Система типов — это набор правил в programming language, который назначает и ограничивает виды значений, допустимые для выражений. Она помогает обнаруживать ошибки, структурировать программы и определять, как операции могут применяться корректно.
In programming languages, a set of rules that assigns a property called type to the various constructs of a computer program, such as variables, expressions, functions, or modules. These types formalize and enforce the otherwise implicit categories the programmer uses for algebraic data types, data structures, or other components (e.g. "string", "array of float", "function returning boolean"). The main purpose of a type system is to reduce possibilities for bugs in computer programs by defining interfaces between different parts of a computer program, and then checking tha