fn arr_zip_map<const N: usize, A, B, C>(
    a: [A; N],
    b: [B; N],
    f: impl Fn(A, B) -> C
) -> [C; N]