static class T3 { A a; B b; C c; *() {} *(A *a, B *b, C *c) {} *(T3 t) { a = t.a; b = t.b; c = t.c; } public int hashCode() { ret _hashCode(a) + 2*_hashCode(b) - 4*_hashCode(c); } public bool equals(O o) { if (o == this) true; if (!(o instanceof T3)) false; T3 t = (T3) o; ret eq(a, t.a) && eq(b, t.b) && eq(c, t.c); } toString { ret "(" + quoteBorderless(a) + ", " + quoteBorderless(b) + ", " + quoteBorderless(c) + ")"; } }