Tuple types are written much like tuple expressions and patterns, as comma-separated lists of types wrapped in parentheses:
My_Tuple_Type = (Int, Float, String);
Tuple types, like all types, may be nested arbitrarily:
My_Nested_Type = (((Int, Float, String), (String, Float, Int)), Int);