...
An alternative compliant solution that does not require recursive expansion of the function parameter pack instead expands the function parameter pack into a list of values as part of a a braced -init-initializer list. Since narrowing conversions are not allowed in a a braced -init-initializer list, the type safety is preserved despite the std::enable_if not involving any of the variadic arguments.
...