pub fn timed<F, U>(op: F) -> TimedFn<F, U> where
    F: FnOnce() -> U,