static S evalWithTimeout_text(double timeoutSeconds, IF0 f) { ret evalWithTimeout_text(timeoutSeconds, (O) f); } sS evalWithTimeout_text(double timeoutSeconds, fO f) { ret evalWithTimeout_text(toMS_int(timeoutSeconds), f); } // f : func -> O static S evalWithTimeout_text(final int timeoutMS, fO f) { ret pcallOrExceptionText_strOrNull(func { evalWithTimeoutOrException(timeoutMS, func { strOrNull(callF(f)) }) }); }