sig
  val time : ?cout:Pervasives.out_channel -> ('-> 'b) -> '-> 'b
  val sf : ?cout:Pervasives.out_channel -> string -> ('-> 'b) -> '-> 'b
  val timesf :
    ?cout:Pervasives.out_channel -> string -> ('-> 'b) -> '-> 'b
  val get_time : ('-> 'b) -> '-> 'b * float
  val repeat : int -> ('-> 'b) -> '-> 'b
end