This module implements extendable arrays with logarithmic access time. It has been adapted from shared code written by David Warren and Fernando Pereira.
returns an empty new array Array.
Array actually is an array.
unifies Element to Array[Index], or fails if Array[Index] has not been set.
is as aref/3, except that it unifies Element with a new array if Array[Index] is undefined. This is useful for multidimensional arrays implemented as arrays of arrays.
is as aref/3, except that Element appears as  for undefined cells. Thus, arefl(_,_,) always succeeds no matter what you give in the first or second args.
unifies NewArray with the result of setting Array[Index] to Element.