Generic Data Types and Type Parameters

The Any, IArray, Tuple, and Function data types are special kinds of types called generic or parameterized data types.

An array, for example, has the type IArray<T>, where T is a type parameter. An array of integers would have type IArray<Int32> while an array of Vector3 has type IArray<Vector3>. These are called instances of the IArray type.

There are several generic function data types: one for each number of arguments up to a maximum of 16. For example, a binary function has the type: Func<T1, T2, R> where T1 is the type of the first argument, T2 is the type of the second argument, and R is the return type.