sig
val register :
print:(Stdlib.Format.formatter -> 'a -> unit) ->
name:string -> init:'a -> 'a Debug.stat
val mod0 : 'a Debug.stat -> ('a -> 'a) -> unit
val mod1 : 'a Debug.stat -> ('a -> 'b -> 'a) -> 'b -> unit
val mod2 : 'a Debug.stat -> ('a -> 'b -> 'c -> 'a) -> 'b -> 'c -> unit
val register_int : name:string -> init:int -> int Debug.stat
val incr : int Debug.stat -> unit
val decr : int Debug.stat -> unit
val record_timing : string -> (unit -> 'a) -> 'a
val add_timing : string -> float -> unit
val get_timings : unit -> (string, float * int) Stdlib.Hashtbl.t
end