explicit operator bool() const { return data_.which() == 0; }
bool operator!() const { return data_.which() != 0; }
bool is_sentinel() const { RANGES_ASSERT(data_.is_valid()); return data_.which() == 1u; }