public Range(int lo, int hi)
        where (lo <= hi) {
            this.lo = lo;
            this.hi = hi;
    }

Probably it's too early to argue about syntax, but now it's too similar to
the 'while' loop. The 'where' keyword really looks like 'while' (same
length, prefix and suffix) and just like the 'while' loop it's followed by
parenthesized boolean expression and code block. I bet this would become a
source of confusion when reading the code. The 'requires' keyword, as Remi
suggests, sounds much better.

With best regards,
Tagir Valeev

Reply via email to