static A assertEqualsVerbose_struct(O x, A y) {
assertEqualsVerbose_struct((S) null, x, y);
ret y;
}
static A assertEqualsVerbose_struct(S msg, O x, A y) {
if (!eq(x, y)) {
fail((msg != null ? msg + ": " : "") + sfu(y) + " != " + sfu(x));
} else
print("OK: " + sfu(x));
ret y;
}