Self optimizing tuple types.
Adaptive tuples are tuple types in which the number of elements is
determined at run-time. These structures are designed to combine
the space-efficiency of tuples with the size flexibility of lists.
Adaptive tuples provide lazy and strict, unpacked data structures
for all tuple sizes from 0 to 20 elements. Adaptive tuples of more than
20 elements are allowed, however they are stored in an ordinary list.