sig   type file = string   type source_provenance =       File of Timings.file     | Pack of string     | Startup     | Toplevel   type compiler_pass =       All     | Parsing of Timings.file     | Preprocessing of Timings.file     | Typing of Timings.file     | Transl of Timings.file     | Generate of Timings.file     | Assemble of Timings.source_provenance     | Clambda of Timings.source_provenance     | Cmm of Timings.source_provenance     | Compile_phrases of Timings.source_provenance     | Selection of Timings.source_provenance     | Comballoc of Timings.source_provenance     | CSE of Timings.source_provenance     | Liveness of Timings.source_provenance     | Deadcode of Timings.source_provenance     | Spill of Timings.source_provenance     | Split of Timings.source_provenance     | Regalloc of Timings.source_provenance     | Linearize of Timings.source_provenance     | Scheduling of Timings.source_provenance     | Emit of Timings.source_provenance     | Flambda_pass of string * Timings.source_provenance   val reset : unit -> unit   val get : Timings.compiler_pass -> float option   val time : Timings.compiler_pass -> ('-> 'b) -> '-> 'b   val accumulate_time : Timings.compiler_pass -> ('-> 'b) -> '-> 'b   val print : Format.formatter -> unit end