sig
  val names : string list
  val allocation_policy : (Gc.Control.t, int) Fieldslib.Field.t
  val stack_limit : (Gc.Control.t, int) Fieldslib.Field.t
  val max_overhead : (Gc.Control.t, int) Fieldslib.Field.t
  val verbose : (Gc.Control.t, int) Fieldslib.Field.t
  val space_overhead : (Gc.Control.t, int) Fieldslib.Field.t
  val major_heap_increment : (Gc.Control.t, int) Fieldslib.Field.t
  val minor_heap_size : (Gc.Control.t, int) Fieldslib.Field.t
  val fold :
    init:'acc__ ->
    minor_heap_size:('acc__ ->
                     (Gc.Control.t, int) Fieldslib.Field.t -> 'acc__) ->
    major_heap_increment:('acc__ ->
                          (Gc.Control.t, int) Fieldslib.Field.t ->
                          'acc__) ->
    space_overhead:('acc__ ->
                    (Gc.Control.t, int) Fieldslib.Field.t -> 'acc__) ->
    verbose:('acc__ -> (Gc.Control.t, int) Fieldslib.Field.t -> 'acc__) ->
    max_overhead:('acc__ ->
                  (Gc.Control.t, int) Fieldslib.Field.t -> 'acc__) ->
    stack_limit:('acc__ ->
                 (Gc.Control.t, int) Fieldslib.Field.t -> 'acc__) ->
    allocation_policy:('acc__ ->
                       (Gc.Control.t, int) Fieldslib.Field.t -> 'acc__) ->
    'acc__
  val make_creator :
    minor_heap_size:((Gc.Control.t, int) Fieldslib.Field.t ->
                     'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    major_heap_increment:((Gc.Control.t, int) Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> int) * 'compile_acc__) ->
    space_overhead:((Gc.Control.t, int) Fieldslib.Field.t ->
                    'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    verbose:((Gc.Control.t, int) Fieldslib.Field.t ->
             'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    max_overhead:((Gc.Control.t, int) Fieldslib.Field.t ->
                  'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    stack_limit:((Gc.Control.t, int) Fieldslib.Field.t ->
                 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    allocation_policy:((Gc.Control.t, int) Fieldslib.Field.t ->
                       'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    'compile_acc__ -> ('input__ -> Gc.Control.t) * 'compile_acc__
  val create :
    minor_heap_size:int ->
    major_heap_increment:int ->
    space_overhead:int ->
    verbose:int ->
    max_overhead:int ->
    stack_limit:int -> allocation_policy:int -> Gc.Control.t
  val iter :
    minor_heap_size:((Gc.Control.t, int) Fieldslib.Field.t -> unit) ->
    major_heap_increment:((Gc.Control.t, int) Fieldslib.Field.t -> unit) ->
    space_overhead:((Gc.Control.t, int) Fieldslib.Field.t -> unit) ->
    verbose:((Gc.Control.t, int) Fieldslib.Field.t -> unit) ->
    max_overhead:((Gc.Control.t, int) Fieldslib.Field.t -> unit) ->
    stack_limit:((Gc.Control.t, int) Fieldslib.Field.t -> unit) ->
    allocation_policy:((Gc.Control.t, int) Fieldslib.Field.t -> unit) ->
    unit
  val map :
    minor_heap_size:((Gc.Control.t, int) Fieldslib.Field.t -> int) ->
    major_heap_increment:((Gc.Control.t, int) Fieldslib.Field.t -> int) ->
    space_overhead:((Gc.Control.t, int) Fieldslib.Field.t -> int) ->
    verbose:((Gc.Control.t, int) Fieldslib.Field.t -> int) ->
    max_overhead:((Gc.Control.t, int) Fieldslib.Field.t -> int) ->
    stack_limit:((Gc.Control.t, int) Fieldslib.Field.t -> int) ->
    allocation_policy:((Gc.Control.t, int) Fieldslib.Field.t -> int) ->
    Gc.Control.t
  val map_poly : (Gc.Control.t, 'x0) Fieldslib.Field.user -> 'x0 list
  val for_all :
    minor_heap_size:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    major_heap_increment:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    space_overhead:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    verbose:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    max_overhead:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    stack_limit:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    allocation_policy:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    bool
  val exists :
    minor_heap_size:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    major_heap_increment:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    space_overhead:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    verbose:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    max_overhead:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    stack_limit:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    allocation_policy:((Gc.Control.t, int) Fieldslib.Field.t -> bool) ->
    bool
  val to_list :
    minor_heap_size:((Gc.Control.t, int) Fieldslib.Field.t -> 'elem__) ->
    major_heap_increment:((Gc.Control.t, int) Fieldslib.Field.t ->
                          'elem__) ->
    space_overhead:((Gc.Control.t, int) Fieldslib.Field.t -> 'elem__) ->
    verbose:((Gc.Control.t, int) Fieldslib.Field.t -> 'elem__) ->
    max_overhead:((Gc.Control.t, int) Fieldslib.Field.t -> 'elem__) ->
    stack_limit:((Gc.Control.t, int) Fieldslib.Field.t -> 'elem__) ->
    allocation_policy:((Gc.Control.t, int) Fieldslib.Field.t -> 'elem__) ->
    'elem__ list
  module Direct :
    sig
      val iter :
        Gc.Control.t ->
        minor_heap_size:((Gc.Control.t, int) Fieldslib.Field.t ->
                         Gc.Control.t -> int -> unit) ->
        major_heap_increment:((Gc.Control.t, int) Fieldslib.Field.t ->
                              Gc.Control.t -> int -> unit) ->
        space_overhead:((Gc.Control.t, int) Fieldslib.Field.t ->
                        Gc.Control.t -> int -> unit) ->
        verbose:((Gc.Control.t, int) Fieldslib.Field.t ->
                 Gc.Control.t -> int -> unit) ->
        max_overhead:((Gc.Control.t, int) Fieldslib.Field.t ->
                      Gc.Control.t -> int -> unit) ->
        stack_limit:((Gc.Control.t, int) Fieldslib.Field.t ->
                     Gc.Control.t -> int -> unit) ->
        allocation_policy:((Gc.Control.t, int) Fieldslib.Field.t ->
                           Gc.Control.t -> int -> unit) ->
        unit
      val fold :
        Gc.Control.t ->
        init:'acc__ ->
        minor_heap_size:('acc__ ->
                         (Gc.Control.t, int) Fieldslib.Field.t ->
                         Gc.Control.t -> int -> 'acc__) ->
        major_heap_increment:('acc__ ->
                              (Gc.Control.t, int) Fieldslib.Field.t ->
                              Gc.Control.t -> int -> 'acc__) ->
        space_overhead:('acc__ ->
                        (Gc.Control.t, int) Fieldslib.Field.t ->
                        Gc.Control.t -> int -> 'acc__) ->
        verbose:('acc__ ->
                 (Gc.Control.t, int) Fieldslib.Field.t ->
                 Gc.Control.t -> int -> 'acc__) ->
        max_overhead:('acc__ ->
                      (Gc.Control.t, int) Fieldslib.Field.t ->
                      Gc.Control.t -> int -> 'acc__) ->
        stack_limit:('acc__ ->
                     (Gc.Control.t, int) Fieldslib.Field.t ->
                     Gc.Control.t -> int -> 'acc__) ->
        allocation_policy:('acc__ ->
                           (Gc.Control.t, int) Fieldslib.Field.t ->
                           Gc.Control.t -> int -> 'acc__) ->
        'acc__
    end
end