static A evalWithTimeoutOrTypedException(int timeoutMS, IF0 f) {
ret evalWithTimeoutOrTypedException(toSeconds(timeoutMS), f);
}
static A evalWithTimeoutOrTypedException(double timeoutSeconds, IF0 f) {
Either e = evalWithTimeout(timeoutSeconds, f);
if (e.isA()) ret (A) e.a();
throw TimeoutException_Inner(
timeoutSeconds,
f,
e.b());
}