// Technically Unit doesn't have to be a singleton since we override // equals and hashCode. Blame it on the insatiable RAM savers final sclass Unit { static Unit unit = new(true); *() { fail(); } *(bool dummy) {} static Unit get() { ret unit; } toString { ret "unit"; } @Override public bool equals(O o) { ret o instanceof Unit; } @Override public int hashCode() { ret 1337; } }