pub fn mat_mul_points<T: Float + MulAdd<T, T, Output = T>>(
    mat: Mat4<T>,
    pts: &mut [Vec3<T>],
    do_p: impl FnMut(Vec4<T>) -> Vec3<T>
)