template <typename A, bool IsTriviallyDestructible =
              absl::is_trivially_destructible<ValueType<A>>::value &&
              std::is_same<A, std::allocator<ValueType<A>>>::value>

struct DestroyAdapter