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