This is a code snippet that I am going to use in order to check whether the variadic template types are unique:
template struct is_one_of
#include template constexpr bool is_one_of = (std::is_same{} || ...); template constexpr bool is_unique = true; template constexpr bool is_unique = is_unique && !is_one_of;
DEMO