srecord noeq TimeoutException(double timeoutSeconds, O function, Thread thread) extends RuntimeException { @Override public cached S getMessage() { ret "Timeout after " + iceil(timeoutSeconds) + "s by " + shorten_str(function) + "\n" + renderStackTrace(innerStackTrace()); } }