If I remember correctly, the problem with that is that an assert is outright removed from a release build. In contrast, an `assertEx!RangeError(!r.empty)` would *force* the compiler to either evaluate (`!r.empty`) to a boolean before discarding it. Either that, or you'd make the argument passed lazily, but that implies performance penalties.