For performance reasons, the unused area of storage is always left as it is when
some elements are removed.
No time is lost to clean the released area with a Void
or a 0 value. (Look for example the remove_last implementation.)
Thus, the unused area of storage may contains references of actually unreachable
objects. The following mark_native_arrays actually replace the
default behavior (the call is automatic) in order to mark only reachable objects.
The basic = is used
for comparison of items and indices are not considered (for
example this routine may yeld True with Current indexed in
range [1..2] and other indexed in range [2..3]).
To be used _only_ inside the definition of mark_native_arrays.
Forces the garbage collector to continue the marking process on the index-th element of
the native_array. The element at index can be Void or not Void (the Void-ness test is
performed inside the mark_item itself).