The Constructible concept constrains the initialization of a variable of a type with a given set of argument types.
template <class T, class... Args>
concept bool Constructible =
Destructible<T> && is_constructible<T, Args...>::value; // see below
There need not be any subsumption relationship between Constructible<T, Args...> and is_constructible<T, Args...>::value.