pub type SplitterFn<T> = Arc<dyn for<'a> Fn(&'a T) -> ArrayVec<(usize, usize), MAX_SPLITS> + Send + Sync>;
pub struct SplitterFn<T> { /* private fields */ }