let timesf ?(cout=stderr) msg f a = let init = Sys.time() in fprintf cout "%s... %!" msg; let b = f a in let delt = Sys.time() -. init in fprintf cout "finished in %.2f seconds\n%!" delt; b