static Timed returnTimed(S desc, IF0 f) { ret returnTimed(f).description(desc); } static Timed returnTimed(IF0 f) { long time = nanos(); A a = f.get(); time = nanos()-time; ret Timed(a, nsToMS(time)); } static Timed returnTimed(Runnable r) { ret returnTimed(runnableToIF0(r)); }