Until now, the only data types we have worked with are the integer and floating-point number types and the Bool type (for true and false). Let's broaden our repertoire.
Types may be composed to form new types. For example, struct is used to define a new named type that is composed of one or more co-located fields, each with its own name and type. A new type may also define its functional behavior in the form of methods.