-- Two simple tensors case
zipWith' f (SimpleFinite index1 v1) (SimpleFinite index2 v2) = 
    if index1 == index2 then 
        SimpleFinite index1 $ Unboxed.zipWith f v1 v2 
    else zipErr "simple-simple" (Index.toTIndex index1) (Index.toTIndex index2)
zipWith' f (SimpleFinite index1 v1) (SimpleFinite index2 v2) = 
    if index1 == index2 then 
        SimpleFinite index1 $ Unboxed.zipWith f v1 v2 
    else zipErr "simple-simple" (Index.toTIndex index1) (Index.toTIndex index2)
zipWith' f (SimpleFinite index1 v1) (SimpleFinite index2 v2) = 
    if index1 == index2 then 
        SimpleFinite index1 $ Unboxed.zipWith f v1 v2 
    else zipErr "simple-simple" (Index.toTIndex index1) (Index.toTIndex index2)