use BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES to select variadic macro support code
More work for supporting new boost::variant interface