Which statement about `void_t`-based detection vs. a `requires` clause is correct for testing whether `T` is incrementable?
// Approach A (SFINAE):
template <typename T, typename = void>
struct incrementable : std::false_type {};
template <typename T>
struct incrementable<T, std::void_t<decltype(++std::declval<T&>())>>
: std::true_type {};
// Approach B (concept):
template <typename T>
concept Incrementable = requires(T t) { ++t; };