sig
  val names : string list
  val stack_size : (Gc.Stat.t, int) Fieldslib.Field.t
  val top_heap_words : (Gc.Stat.t, int) Fieldslib.Field.t
  val compactions : (Gc.Stat.t, int) Fieldslib.Field.t
  val fragments : (Gc.Stat.t, int) Fieldslib.Field.t
  val largest_free : (Gc.Stat.t, int) Fieldslib.Field.t
  val free_blocks : (Gc.Stat.t, int) Fieldslib.Field.t
  val free_words : (Gc.Stat.t, int) Fieldslib.Field.t
  val live_blocks : (Gc.Stat.t, int) Fieldslib.Field.t
  val live_words : (Gc.Stat.t, int) Fieldslib.Field.t
  val heap_chunks : (Gc.Stat.t, int) Fieldslib.Field.t
  val heap_words : (Gc.Stat.t, int) Fieldslib.Field.t
  val major_collections : (Gc.Stat.t, int) Fieldslib.Field.t
  val minor_collections : (Gc.Stat.t, int) Fieldslib.Field.t
  val major_words : (Gc.Stat.t, float) Fieldslib.Field.t
  val promoted_words : (Gc.Stat.t, float) Fieldslib.Field.t
  val minor_words : (Gc.Stat.t, float) Fieldslib.Field.t
  val fold :
    init:'acc__ ->
    minor_words:('acc__ ->
                 (Gc.Stat.t, float) Fieldslib.Field.t -> 'acc__) ->
    promoted_words:('acc__ ->
                    (Gc.Stat.t, float) Fieldslib.Field.t -> 'acc__) ->
    major_words:('acc__ ->
                 (Gc.Stat.t, float) Fieldslib.Field.t -> 'acc__) ->
    minor_collections:('acc__ ->
                       (Gc.Stat.t, int) Fieldslib.Field.t -> 'acc__) ->
    major_collections:('acc__ ->
                       (Gc.Stat.t, int) Fieldslib.Field.t -> 'acc__) ->
    heap_words:('acc__ -> (Gc.Stat.t, int) Fieldslib.Field.t -> 'acc__) ->
    heap_chunks:('acc__ -> (Gc.Stat.t, int) Fieldslib.Field.t -> 'acc__) ->
    live_words:('acc__ -> (Gc.Stat.t, int) Fieldslib.Field.t -> 'acc__) ->
    live_blocks:('acc__ -> (Gc.Stat.t, int) Fieldslib.Field.t -> 'acc__) ->
    free_words:('acc__ -> (Gc.Stat.t, int) Fieldslib.Field.t -> 'acc__) ->
    free_blocks:('acc__ -> (Gc.Stat.t, int) Fieldslib.Field.t -> 'acc__) ->
    largest_free:('acc__ -> (Gc.Stat.t, int) Fieldslib.Field.t -> 'acc__) ->
    fragments:('acc__ -> (Gc.Stat.t, int) Fieldslib.Field.t -> 'acc__) ->
    compactions:('acc__ -> (Gc.Stat.t, int) Fieldslib.Field.t -> 'acc__) ->
    top_heap_words:('acc__ ->
                    (Gc.Stat.t, int) Fieldslib.Field.t -> 'acc__) ->
    stack_size:('acc__ -> (Gc.Stat.t, int) Fieldslib.Field.t -> 'acc__) ->
    'acc__
  val make_creator :
    minor_words:((Gc.Stat.t, float) Fieldslib.Field.t ->
                 'compile_acc__ -> ('input__ -> float) * 'compile_acc__) ->
    promoted_words:((Gc.Stat.t, float) Fieldslib.Field.t ->
                    'compile_acc__ -> ('input__ -> float) * 'compile_acc__) ->
    major_words:((Gc.Stat.t, float) Fieldslib.Field.t ->
                 'compile_acc__ -> ('input__ -> float) * 'compile_acc__) ->
    minor_collections:((Gc.Stat.t, int) Fieldslib.Field.t ->
                       'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    major_collections:((Gc.Stat.t, int) Fieldslib.Field.t ->
                       'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    heap_words:((Gc.Stat.t, int) Fieldslib.Field.t ->
                'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    heap_chunks:((Gc.Stat.t, int) Fieldslib.Field.t ->
                 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    live_words:((Gc.Stat.t, int) Fieldslib.Field.t ->
                'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    live_blocks:((Gc.Stat.t, int) Fieldslib.Field.t ->
                 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    free_words:((Gc.Stat.t, int) Fieldslib.Field.t ->
                'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    free_blocks:((Gc.Stat.t, int) Fieldslib.Field.t ->
                 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    largest_free:((Gc.Stat.t, int) Fieldslib.Field.t ->
                  'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    fragments:((Gc.Stat.t, int) Fieldslib.Field.t ->
               'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    compactions:((Gc.Stat.t, int) Fieldslib.Field.t ->
                 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    top_heap_words:((Gc.Stat.t, int) Fieldslib.Field.t ->
                    'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    stack_size:((Gc.Stat.t, int) Fieldslib.Field.t ->
                'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    'compile_acc__ -> ('input__ -> Gc.Stat.t) * 'compile_acc__
  val create :
    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 -> Gc.Stat.t
  val iter :
    minor_words:((Gc.Stat.t, float) Fieldslib.Field.t -> unit) ->
    promoted_words:((Gc.Stat.t, float) Fieldslib.Field.t -> unit) ->
    major_words:((Gc.Stat.t, float) Fieldslib.Field.t -> unit) ->
    minor_collections:((Gc.Stat.t, int) Fieldslib.Field.t -> unit) ->
    major_collections:((Gc.Stat.t, int) Fieldslib.Field.t -> unit) ->
    heap_words:((Gc.Stat.t, int) Fieldslib.Field.t -> unit) ->
    heap_chunks:((Gc.Stat.t, int) Fieldslib.Field.t -> unit) ->
    live_words:((Gc.Stat.t, int) Fieldslib.Field.t -> unit) ->
    live_blocks:((Gc.Stat.t, int) Fieldslib.Field.t -> unit) ->
    free_words:((Gc.Stat.t, int) Fieldslib.Field.t -> unit) ->
    free_blocks:((Gc.Stat.t, int) Fieldslib.Field.t -> unit) ->
    largest_free:((Gc.Stat.t, int) Fieldslib.Field.t -> unit) ->
    fragments:((Gc.Stat.t, int) Fieldslib.Field.t -> unit) ->
    compactions:((Gc.Stat.t, int) Fieldslib.Field.t -> unit) ->
    top_heap_words:((Gc.Stat.t, int) Fieldslib.Field.t -> unit) ->
    stack_size:((Gc.Stat.t, int) Fieldslib.Field.t -> unit) -> unit
  val map :
    minor_words:((Gc.Stat.t, float) Fieldslib.Field.t -> float) ->
    promoted_words:((Gc.Stat.t, float) Fieldslib.Field.t -> float) ->
    major_words:((Gc.Stat.t, float) Fieldslib.Field.t -> float) ->
    minor_collections:((Gc.Stat.t, int) Fieldslib.Field.t -> int) ->
    major_collections:((Gc.Stat.t, int) Fieldslib.Field.t -> int) ->
    heap_words:((Gc.Stat.t, int) Fieldslib.Field.t -> int) ->
    heap_chunks:((Gc.Stat.t, int) Fieldslib.Field.t -> int) ->
    live_words:((Gc.Stat.t, int) Fieldslib.Field.t -> int) ->
    live_blocks:((Gc.Stat.t, int) Fieldslib.Field.t -> int) ->
    free_words:((Gc.Stat.t, int) Fieldslib.Field.t -> int) ->
    free_blocks:((Gc.Stat.t, int) Fieldslib.Field.t -> int) ->
    largest_free:((Gc.Stat.t, int) Fieldslib.Field.t -> int) ->
    fragments:((Gc.Stat.t, int) Fieldslib.Field.t -> int) ->
    compactions:((Gc.Stat.t, int) Fieldslib.Field.t -> int) ->
    top_heap_words:((Gc.Stat.t, int) Fieldslib.Field.t -> int) ->
    stack_size:((Gc.Stat.t, int) Fieldslib.Field.t -> int) ->
    Gc.Stat.t
  val map_poly : (Gc.Stat.t, 'x0) Fieldslib.Field.user -> 'x0 list
  val for_all :
    minor_words:((Gc.Stat.t, float) Fieldslib.Field.t -> bool) ->
    promoted_words:((Gc.Stat.t, float) Fieldslib.Field.t -> bool) ->
    major_words:((Gc.Stat.t, float) Fieldslib.Field.t -> bool) ->
    minor_collections:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    major_collections:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    heap_words:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    heap_chunks:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    live_words:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    live_blocks:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    free_words:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    free_blocks:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    largest_free:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    fragments:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    compactions:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    top_heap_words:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    stack_size:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) -> bool
  val exists :
    minor_words:((Gc.Stat.t, float) Fieldslib.Field.t -> bool) ->
    promoted_words:((Gc.Stat.t, float) Fieldslib.Field.t -> bool) ->
    major_words:((Gc.Stat.t, float) Fieldslib.Field.t -> bool) ->
    minor_collections:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    major_collections:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    heap_words:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    heap_chunks:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    live_words:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    live_blocks:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    free_words:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    free_blocks:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    largest_free:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    fragments:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    compactions:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    top_heap_words:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) ->
    stack_size:((Gc.Stat.t, int) Fieldslib.Field.t -> bool) -> bool
  val to_list :
    minor_words:((Gc.Stat.t, float) Fieldslib.Field.t -> 'elem__) ->
    promoted_words:((Gc.Stat.t, float) Fieldslib.Field.t -> 'elem__) ->
    major_words:((Gc.Stat.t, float) Fieldslib.Field.t -> 'elem__) ->
    minor_collections:((Gc.Stat.t, int) Fieldslib.Field.t -> 'elem__) ->
    major_collections:((Gc.Stat.t, int) Fieldslib.Field.t -> 'elem__) ->
    heap_words:((Gc.Stat.t, int) Fieldslib.Field.t -> 'elem__) ->
    heap_chunks:((Gc.Stat.t, int) Fieldslib.Field.t -> 'elem__) ->
    live_words:((Gc.Stat.t, int) Fieldslib.Field.t -> 'elem__) ->
    live_blocks:((Gc.Stat.t, int) Fieldslib.Field.t -> 'elem__) ->
    free_words:((Gc.Stat.t, int) Fieldslib.Field.t -> 'elem__) ->
    free_blocks:((Gc.Stat.t, int) Fieldslib.Field.t -> 'elem__) ->
    largest_free:((Gc.Stat.t, int) Fieldslib.Field.t -> 'elem__) ->
    fragments:((Gc.Stat.t, int) Fieldslib.Field.t -> 'elem__) ->
    compactions:((Gc.Stat.t, int) Fieldslib.Field.t -> 'elem__) ->
    top_heap_words:((Gc.Stat.t, int) Fieldslib.Field.t -> 'elem__) ->
    stack_size:((Gc.Stat.t, int) Fieldslib.Field.t -> 'elem__) ->
    'elem__ list
  module Direct :
    sig
      val iter :
        Gc.Stat.t ->
        minor_words:((Gc.Stat.t, float) Fieldslib.Field.t ->
                     Gc.Stat.t -> float -> unit) ->
        promoted_words:((Gc.Stat.t, float) Fieldslib.Field.t ->
                        Gc.Stat.t -> float -> unit) ->
        major_words:((Gc.Stat.t, float) Fieldslib.Field.t ->
                     Gc.Stat.t -> float -> unit) ->
        minor_collections:((Gc.Stat.t, int) Fieldslib.Field.t ->
                           Gc.Stat.t -> int -> unit) ->
        major_collections:((Gc.Stat.t, int) Fieldslib.Field.t ->
                           Gc.Stat.t -> int -> unit) ->
        heap_words:((Gc.Stat.t, int) Fieldslib.Field.t ->
                    Gc.Stat.t -> int -> unit) ->
        heap_chunks:((Gc.Stat.t, int) Fieldslib.Field.t ->
                     Gc.Stat.t -> int -> unit) ->
        live_words:((Gc.Stat.t, int) Fieldslib.Field.t ->
                    Gc.Stat.t -> int -> unit) ->
        live_blocks:((Gc.Stat.t, int) Fieldslib.Field.t ->
                     Gc.Stat.t -> int -> unit) ->
        free_words:((Gc.Stat.t, int) Fieldslib.Field.t ->
                    Gc.Stat.t -> int -> unit) ->
        free_blocks:((Gc.Stat.t, int) Fieldslib.Field.t ->
                     Gc.Stat.t -> int -> unit) ->
        largest_free:((Gc.Stat.t, int) Fieldslib.Field.t ->
                      Gc.Stat.t -> int -> unit) ->
        fragments:((Gc.Stat.t, int) Fieldslib.Field.t ->
                   Gc.Stat.t -> int -> unit) ->
        compactions:((Gc.Stat.t, int) Fieldslib.Field.t ->
                     Gc.Stat.t -> int -> unit) ->
        top_heap_words:((Gc.Stat.t, int) Fieldslib.Field.t ->
                        Gc.Stat.t -> int -> unit) ->
        stack_size:((Gc.Stat.t, int) Fieldslib.Field.t ->
                    Gc.Stat.t -> int -> unit) ->
        unit
      val fold :
        Gc.Stat.t ->
        init:'acc__ ->
        minor_words:('acc__ ->
                     (Gc.Stat.t, float) Fieldslib.Field.t ->
                     Gc.Stat.t -> float -> 'acc__) ->
        promoted_words:('acc__ ->
                        (Gc.Stat.t, float) Fieldslib.Field.t ->
                        Gc.Stat.t -> float -> 'acc__) ->
        major_words:('acc__ ->
                     (Gc.Stat.t, float) Fieldslib.Field.t ->
                     Gc.Stat.t -> float -> 'acc__) ->
        minor_collections:('acc__ ->
                           (Gc.Stat.t, int) Fieldslib.Field.t ->
                           Gc.Stat.t -> int -> 'acc__) ->
        major_collections:('acc__ ->
                           (Gc.Stat.t, int) Fieldslib.Field.t ->
                           Gc.Stat.t -> int -> 'acc__) ->
        heap_words:('acc__ ->
                    (Gc.Stat.t, int) Fieldslib.Field.t ->
                    Gc.Stat.t -> int -> 'acc__) ->
        heap_chunks:('acc__ ->
                     (Gc.Stat.t, int) Fieldslib.Field.t ->
                     Gc.Stat.t -> int -> 'acc__) ->
        live_words:('acc__ ->
                    (Gc.Stat.t, int) Fieldslib.Field.t ->
                    Gc.Stat.t -> int -> 'acc__) ->
        live_blocks:('acc__ ->
                     (Gc.Stat.t, int) Fieldslib.Field.t ->
                     Gc.Stat.t -> int -> 'acc__) ->
        free_words:('acc__ ->
                    (Gc.Stat.t, int) Fieldslib.Field.t ->
                    Gc.Stat.t -> int -> 'acc__) ->
        free_blocks:('acc__ ->
                     (Gc.Stat.t, int) Fieldslib.Field.t ->
                     Gc.Stat.t -> int -> 'acc__) ->
        largest_free:('acc__ ->
                      (Gc.Stat.t, int) Fieldslib.Field.t ->
                      Gc.Stat.t -> int -> 'acc__) ->
        fragments:('acc__ ->
                   (Gc.Stat.t, int) Fieldslib.Field.t ->
                   Gc.Stat.t -> int -> 'acc__) ->
        compactions:('acc__ ->
                     (Gc.Stat.t, int) Fieldslib.Field.t ->
                     Gc.Stat.t -> int -> 'acc__) ->
        top_heap_words:('acc__ ->
                        (Gc.Stat.t, int) Fieldslib.Field.t ->
                        Gc.Stat.t -> int -> 'acc__) ->
        stack_size:('acc__ ->
                    (Gc.Stat.t, int) Fieldslib.Field.t ->
                    Gc.Stat.t -> int -> 'acc__) ->
        'acc__
    end
end