There are several different kinds of types. Record/Class Types and Array Types are described below. Also there are function types and types of classes that contain local classes.
A record/class type in Modelica is conceptually the set of all record values of that record type, where each value contains named field values for the fields of that record.
An array type is conceptually a set of array values, where each array value can be considered as a set of pairs (array-element-index, array-value) analogous to the set of pairs (field-name, field value) that make up a record value.