An array is a data structure consisting of a two-element tuple.
The first element is the number of elements in the array.
The second element is another tuple of the elements in the array.
(3, (a, b, c))
...is an array of 3 elements--a, b, and c.
The primary strength of arrays is that they store their own size.
Because of this, access to elements does not require the size.
It only requires that an element exists at a certain index.
This allows macro parameters to be variable in size and allows data states to change
size without the user explicitly keeping track of the size independently.
Elements of an array can be extracted with BOOST_PP_ARRAY_ELEM,
an array's size can be extracted with BOOST_PP_ARRAY_SIZE, and
an array can be converted to the more primitive tuple data structure