sig
  type t = {
    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;
    stack_size : int;
  }
  type binable = t
  val bin_size_t : binable Bin_prot.Size.sizer
  val bin_write_t : binable Bin_prot.Map_to_safe.writer
  val bin_write_t_ : binable Bin_prot.Unsafe_write_c.writer
  val bin_read_t : binable Bin_prot.Read_ml.reader
  val bin_read_t_ : binable Bin_prot.Unsafe_read_c.reader
  val bin_read_t__ : (int -> binable) Bin_prot.Unsafe_read_c.reader
  val bin_writer_t : binable Bin_prot.Type_class.writer
  val bin_reader_t : binable Bin_prot.Type_class.reader
  val bin_t : binable Bin_prot.Type_class.t
  type sexpable = t
  val sexp_of_t : sexpable -> Sexplib.Sexp.t
  val t_of_sexp : Sexplib.Sexp.t -> sexpable
end