Kotlin lists come in separate mutable and immutable varieties, where the former is derived from the latter. But as I understand it, with arrays, there is no separate immutable type per se; instead, an immutable array is declared like Array<out Foo>.
Is this correct?
If so, what's the reason for array and list types being designed differently in that regard?