Comments on the forums seem (personal interpretation) that in regards to algorithms that don't accept infinite ranges, the error is better expressed as a static assert. But this is off topic here, so just ignore this comment if you disagree.