Tuples
     A tuple is a simple comma-separated list of elements inside
      parenthesis.  For example, 
     (a, b, c) 
     ...is a tuple of 3 elements--a, b, and
      c.
      
      A tuple cannot be empty. The notation '()' as a tuple is
      a single element tuple of size 1, where the element is empty. 
     Tuples are fast and easy to use.  With variadic macro
      support it is not necessary to know the size of a tuple.
      Use a tuple instead of an array, since a tuple has all of
      the functionality as an array and is easier syntactically to use.
      The only functionality an array has which a tuple does
      not have is that an array can be empty whereas a tuple cannot
      be empty.
     Elements of a tuple can be extracted with BOOST_PP_TUPLE_ELEM.
    
    Primitives