sclass IntRange { int start, end; *() {} *(int *start, int *end) {} [stdEq] final int length() { ret end-start; } final bool empty() { ret start >= end; } sS _fieldOrder = "start end"; toString { ret "[" + start + ";" + end + "]"; } }