sig
  type stat = {
    minor_words : float;
    promoted_words : float;
    major_words : float;
    minor_collections : int;
    major_collections : int;
    heap_words : int;
    heap_chunks : int;
    live_words : int;
    live_blocks : int;
    free_words : int;
    free_blocks : int;
    largest_free : int;
    fragments : int;
    compactions : int;
    top_heap_words : int;
  }
  val stat : unit -> Gc.stat
  val quick_stat : unit -> Gc.stat
  val counters : unit -> float * float * float
  val minor : unit -> unit
  val major_slice : int -> int
  val major : unit -> unit
  val full_major : unit -> unit
  val compact : unit -> unit
  val print_stat : Stdlib.out_channel -> unit
  val allocated_bytes : unit -> float
  val finalise : ('-> unit) -> '-> unit
  val finalise_release : unit -> unit
  type alarm
  val create_alarm : (unit -> unit) -> Gc.alarm
  val delete_alarm : Gc.alarm -> unit
end