sig
  type t
  val elapsed_time : unit -> float
  val create : string -> Monitor_sig.Monitor.Time.t
  val kill : Monitor_sig.Monitor.Time.t -> unit
  val start : Monitor_sig.Monitor.Time.t -> unit
  val stop : Monitor_sig.Monitor.Time.t -> unit
  val time : string -> ('-> 'b) -> '-> 'b
end