`sig
type 'a heap
type 'a descr
val create_heap : Netmcore.res_id -> int -> 'a -> 'a Netmcore_heap.heap
val minimum_size : 'a -> int
val root : 'a Netmcore_heap.heap -> 'a
val descr_of_heap : 'a Netmcore_heap.heap -> 'a Netmcore_heap.descr
val heap_of_descr :
Netmcore.res_id -> 'a Netmcore_heap.descr -> 'a Netmcore_heap.heap
type mutator
val modify : 'a Netmcore_heap.heap -> (Netmcore_heap.mutator -> 'r) -> 'r
val add : Netmcore_heap.mutator -> 'a -> 'a
val add_immutable : Netmcore_heap.mutator -> 'a -> 'a
val add_uniform_array : Netmcore_heap.mutator -> int -> 'a -> 'a array
val add_init_array :
Netmcore_heap.mutator -> int -> (int -> 'a) -> 'a array
val add_some : Netmcore_heap.mutator -> 'a -> 'a option
val add_string : Netmcore_heap.mutator -> int -> string
val pin : Netmcore_heap.mutator -> 'a -> unit
val copy : 'a -> 'a
val with_value : 'a Netmcore_heap.heap -> (unit -> 'b) -> ('b -> 'c) -> 'c
val with_value_2 :
'a Netmcore_heap.heap -> (unit -> 'b * 'c) -> ('b * 'c -> 'z) -> 'z
val with_value_3 :
'a Netmcore_heap.heap ->
(unit -> 'b * 'c * 'd) -> ('b * 'c * 'd -> 'z) -> 'z
val with_value_4 :
'a Netmcore_heap.heap ->
(unit -> 'b * 'c * 'd * 'e) -> ('b * 'c * 'd * 'e -> 'z) -> 'z
val with_value_5 :
'a Netmcore_heap.heap ->
(unit -> 'b * 'c * 'd * 'e * 'f) -> ('b * 'c * 'd * 'e * 'f -> 'z) -> 'z
val with_value_n :
'a Netmcore_heap.heap -> (unit -> 'b list) -> ('b list -> 'c) -> 'c
val destroy : 'a Netmcore_heap.heap -> unit
val gc : 'a Netmcore_heap.heap -> unit
val pool : 'a Netmcore_heap.heap -> Netmcore.res_id
val mut_pool : Netmcore_heap.mutator -> Netmcore.res_id
val sem_container : 'a Netmcore_heap.heap -> Netsys_sem.container
val mut_sem_container : Netmcore_heap.mutator -> Netsys_sem.container
val debug_info : 'a Netmcore_heap.heap -> string
module Debug : sig val enable : bool Stdlib.ref end
end`