s in the form of a Boost preprocessor library array
        data type. When using the <code class="computeroutput"><span class="keyword">template</span>
        <span class="identifier">type</span> <span class="identifier">parameters</span></code>
        form of the macro the second macro parameter is BOOST_PP_NIL. If the second
        parameter is neither a Boost preprocessor library array data type or BOOST_PP_NIL
        you will get a compiler error if your compiler only supports non-variadic
        