#[derive(frunk::labelled::LabelledGeneric)]
struct FooArray {
a: BooleanArray,
b: Uint32Array,
}
#[derive(frunk::labelled::LabelledGeneric)]
struct SelectA {
a: BooleanArray,
}
let foo_array: FooArray = ...
// Select `a` from the FooArray
let select_a: SelectA = foo_array.transmogrify();
We could even generate these selector structs and add methods on the main array to use them.