static Throwable assertFail(S msg default "", Runnable r) { try { r.run(); } catch e { silentException(e); ret e; } fail("No exception thrown" + (nempty(msg) ? " - " + msg : " by " + r)); }