shuffleとshuffled

// shuffleはMutableListの拡張関数。対象のMutableListをシャッフルするだけ。
public actual inline fun <T> MutableList<T>.shuffle() {
    java.util.Collections.shuffle(this)
}
 
// shuffledはIterableの拡張関数。同じ型を返すので、そのまま関数を続けることができる。
@SinceKotlin("1.2")
public actual fun <T> Iterable<T>.shuffled(): List<T> = toMutableList().apply { shuffle() }
 ↓
list.shuffled().first()