Related to this question, I think the empty method does not just belong to the containers, they are also useful for std::valarray. It should be normal to check if a numeric array is empty.
Even stranger is that std::empty added in C++17 has no overload for std::valarray, but it has an overload for std::initializer_list.
Why?