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