sclass RunResultWithTimestamps {
settable Timestamp started;
settable Timestamp ended;
settable OKOrError result;
settable CharSequence printOutput;
void run(IF0 f) {
printOutput(hijackPrint_tee(r {
started(tsNow());
result(okOrError(f));
ended(tsNow());
}));
}
}