traits class for checking whether type T is one of any of the given types in the variadic list.
Declared in <llvm/ADT/STLExtras.h>
<llvm/ADT/STLExtras.h>
template< typename T, typename... Ts> using is_one_of = std::disjunction<std::is_same<T, Ts>...>;