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