Ah, my apologies. I don't know my way around C++, and, by reading your comment too quickly, misread it to be saying that `all_of` behaved badly, rather than that its behavior could be better understood by looking elsewhere.