sig
  type mallinfo = {
    arena : int;
    ordblks : int;
    smblks : int;
    hblks : int;
    hblkhd : int;
    usmblks : int;
    fsmblks : int;
    uordblks : int;
    fordblks : int;
    keepcost : int;
  }
  type opt =
      TRIM_THRESHOLD
    | TOP_PAD
    | MMAP_THRESHOLD
    | MMAP_MAX
    | CHECK_ACTION
  val mallinfo : (unit -> Malloc.mallinfo) Core.Std.Or_error.t
  val mallopt : (Malloc.opt -> int -> unit) Core.Std.Or_error.t
  val malloc_trim : (int -> unit) Core.Std.Or_error.t
  val malloc_stats : (unit -> unit) Core.Std.Or_error.t
  val bin_mallinfo : Malloc.mallinfo Core.Std.Bin_prot.Type_class.t
  val bin_read_mallinfo : Malloc.mallinfo Core.Std.Bin_prot.Read.reader
  val __bin_read_mallinfo__ :
    (int -> Malloc.mallinfo) Core.Std.Bin_prot.Read.reader
  val bin_reader_mallinfo :
    Malloc.mallinfo Core.Std.Bin_prot.Type_class.reader
  val bin_size_mallinfo : Malloc.mallinfo Core.Std.Bin_prot.Size.sizer
  val bin_write_mallinfo : Malloc.mallinfo Core.Std.Bin_prot.Write.writer
  val bin_writer_mallinfo :
    Malloc.mallinfo Core.Std.Bin_prot.Type_class.writer
  val mallinfo_of_sexp : Sexplib.Sexp.t -> Malloc.mallinfo
  val sexp_of_mallinfo : Malloc.mallinfo -> Sexplib.Sexp.t
  val bin_opt : Malloc.opt Core.Std.Bin_prot.Type_class.t
  val bin_read_opt : Malloc.opt Core.Std.Bin_prot.Read.reader
  val __bin_read_opt__ : (int -> Malloc.opt) Core.Std.Bin_prot.Read.reader
  val bin_reader_opt : Malloc.opt Core.Std.Bin_prot.Type_class.reader
  val bin_size_opt : Malloc.opt Core.Std.Bin_prot.Size.sizer
  val bin_write_opt : Malloc.opt Core.Std.Bin_prot.Write.writer
  val bin_writer_opt : Malloc.opt Core.Std.Bin_prot.Type_class.writer
  val opt_of_sexp : Sexplib.Sexp.t -> Malloc.opt
  val sexp_of_opt : Malloc.opt -> Sexplib.Sexp.t
end