shuffledWeighted

fun <T> Random.shuffledWeighted(weights: Map<T, Double>): List<T>
fun <T> Random.shuffledWeighted(values: List<T>, weights: List<Double>): List<T>