"A fixed-size array of elements. An array may have zero size (an empty array). Arrays are mutable. Any element of an array may be set to a new value. This class is provided primarily to support interoperation with Java, and for some performance-critical low-level programming tasks." shared final native class Array<Element>({Element*} elements) extends Object() satisfies List<Element> & Cloneable<Array<Element>> & Ranged<Integer, Array<Element>> { "Replace the existing element at the specified index with the given element. Does nothing if the specified index is negative or larger than the index of the last element in the array." shared native void set( "The index of the element to replace." Integer index, "The new element." Element element); "Reverse this array, returning a new array." shared actual native Array<Element> reversed; "The rest of the array, without the first element." shared actual native Array<Element> rest; "Efficiently copy the elements in the segment `sourcePosition:length` of this array to the segment `destinationPosition:length` of the given array." shared native void copyTo( "The array into which to copy the elements." Array<Element> other, "The index of the first element in this array to copy." Integer sourcePosition = 0, "The index in the given array into which to copy the first element." Integer destinationPosition = 0, "The number of elements to copy." Integer length = size-sourcePosition); } "Create an array of the specified size, populating every index with the given element. If the specified size is smaller than `1`, return an empty array of the given element type." shared native Array<Element> arrayOfSize<Element>( "The size of the resulting array. If the size is non-positive, an empty array will be created." Integer size, "The element value with which to populate the array. All elements of the resulting array will have the same value." Element element);