Particionar datos con colecciones en Laravel

Siguiendo la serie de métodos útiles de las colecciones de Laravel, hoy me encontré con el método partition(). Este método nos permite separar una colección en 2 colecciones según un criterio definido por una función. Pongo un ejemplo: Tenemos una colección de productos y queremos separarla en dos colecciones: los productos caros (>= 10€) y los baratos (< 10€).

$products = Product::all();

[$cheapProducts, $expensiveProducts] = $products->partition(fn ($product) => $product->price < 10);

Ahora, $cheapProducts y $expensiveProducts son dos colecciones que tienen, respectivamente, los productos cuyo precio es menor a 10€ y los productos cuyo precio es >= 10€.