sig
  val linenumber : int Pervasives.ref
  val profiling : bool Pervasives.ref
  val add_at_exit : (unit -> unit) -> unit
  val do_at_exit : unit -> unit
  val add_at_reset : (unit -> unit) -> unit
  val do_at_reset : unit -> unit
  val utime : ('-> 'b) -> '-> 'b * float
  val profile : string -> ('-> 'b) -> '-> 'b
  val acc1 : 'a list Pervasives.ref -> ('-> 'c * 'a) -> '-> 'c
  val acc2 :
    'a list Pervasives.ref -> ('-> '-> 'd * 'a) -> '-> '-> 'd
  val accb : 'a list Pervasives.ref -> ('-> 'a option) -> '-> bool
end