ReadOnlyArray is an abstract over an ordinary Array which only exposes APIs that don't modify the instance, hence "read-only".

Note that this doesn't necessarily mean that the instance is immutable. Other code holding a reference to the underlying Array can still modify it, and the reference can be obtained with a cast.