pub fn ew_op<'a, T: Copy + Default, F: Fn(T, T) -> T>(
    device: &'a CPU,
    lhs: &Matrix<'_, T>,
    rhs: &Matrix<'_, T>,
    f: F
) -> Matrix<'a, T>