<div dir="auto"><div class="gmail_extra" dir="auto"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br></blockquote><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
    public Range(int lo, int hi)<br>
        where (lo <= hi) {<br>
            this.lo = lo;<br>
            this.hi = hi;<br>
    }<br><br>
</blockquote></div>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. </div><div class="gmail_extra" dir="auto"><br></div><div class="gmail_extra" dir="auto">With best regards, </div><div class="gmail_extra" dir="auto">Tagir Valeev</div></div>