Kotlin y parallelStream toArray

Creo que me estoy desviado. Estoy tratando de utilizar Java parallelStream por razones de performance.

Una function Specimen.pick () muestrea y devuelve una instancia de la muestra . Quiero paralizar esto con parallelStream al replace el grupo .

var pool: Array<Specimen> = Array(100_000) .. 

Esto es lo que bash escribir en Kotlin:

 pool = pool.asList().parallelStream().map { Specimen.pick(pool, wheel, r.split()) }.toArray(Specimen::new) 

Que errores en :: nuevo

En cambio, tengo que hacer malabares entre la list y la matriz:

 pool = pool.asList().parallelStream().map { Specimen.pick(pool, wheel, r.split()) }.collect(Collectors.toList()).toTypedArray() 

Lo cual funciona, pero parece un desperdicio de resources en lugar de ir directamente a Array. Si dejo que IntelliJ intente Kotlinize un ejemplo de Java de esto:

Java:

 Person[] men = people.stream() .filter(p -> p.getGender() == MALE) .toArray(Person[]::new); 

Transformación IntelliJ:

 val men = people.stream() .filter({ p -> p.getGender() === MALE }) .toArray(Person[]::new /* Currently unsupported in Kotlin */) 

¿Entonces quizás esto sea para Kotlin? ¿O hay otra forma mejor?