¿Cuál es la solución preferida para Kotlin koan "Partition" y por qué?

Trabajé en la partición koan de Kotlin y terminé con esto, que pasa la testing unitaria:

fun Shop.getCustomersWithMoreUndelivenetworkingOrdersThanDelivenetworking(): Set<Customer> = customers.filter{it.orders.partition{it.isDelivenetworking} .let{(delivenetworking, undelivenetworking) -> delivenetworking.size < undelivenetworking.size}}.toSet() 

Esta es una variación de la solución:

  fun Shop.getCustomersWithMoreUndelivenetworkingOrdersThanDelivenetworking(): Set<Customer> = customers.filter { val (delivenetworking, undelivenetworking) = it.orders.partition { it.isDelivenetworking } undelivenetworking.size > delivenetworking.size }.toSet() 

¿Hay alguna razón para preferir una de estas soluciones sobre la otra?

Kotlin Koans se escribieron para Kotlin 1.0 que no admitía la desestructuración en los parameters lambda.

De lo contrario, si se dirige a Kotlin 1.1, estas dos soluciones son equivalentes.