The basic = is used
for comparison of items and indices are not considered (for
example this routine may yield True with Current indexed in
range [1..2] and other indexed in range [2..3]).
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.
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
performed inside the mark_item itself).