pub fn flat_map<T, const N: usize, Map, O, const M: usize>( array: [T; N], map: Map ) -> [O; { _ }]where Map: FnMut<(T,), Output = [O; M]> + Destruct,