val unsafe_set_omit_phys_equal_check : 'at->int ->'a-> unit
unsafe_set_omit_phys_equal_check is like unsafe_set, except it doesn't do a phys_equal check to try to skip caml_modify. It is safe to call this even if the values are phys_equal.
unsafe_set_assuming_currently_int t i obj sets index i of t to obj, but only works correctly if the value there is an immediate, i.e. Caml.Obj.is_int (get t i). This precondition saves a dynamic check.
unsafe_set_int_assuming_currently_int is similar, except the value being set is an int.
unsafe_set_int is similar but does not assume anything about the target.
val unsafe_set_int_assuming_currently_int : Caml.Obj.tt->int ->int -> unit
val unsafe_set_int : Caml.Obj.tt->int ->int -> unit
val unsafe_clear_if_pointer : Caml.Obj.tt->int -> unit
unsafe_clear_if_pointer t i prevents t.(i) from pointing to anything to prevent space leaks. It does this by setting t.(i) to Caml.Obj.repr 0. As a performance hack, it only does this when not (Caml.Obj.is_int t.(i)). It is an error to access the cleared index before setting it again.