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