zipWith4 package:massiv

Just like zipWith, except zip four arrays with a function.
Just like zipWith4, except with an index aware function.
Just like szipWith4, zip four vectors together, but with an index aware function. The length of a resulting vector will be the smallest length of the supplied vectors.
Just like szipWith4M, zip four vectors together, but with an index aware monadic action. The length of a resulting vector will be the smallest length of the supplied vectors.
Same as szipWith4M_, zip four vectors together, but with an index aware monadic action. The action will be invoked as many times as the length of the smallest vector.
Zip four vectors together with a quaternary function into a vector. The length of a resulting vector will be the smallest length of the supplied vectors.
Zip four vectors together with a quaternary monadic action into a vector. The length of a resulting vector will be the smallest length of the supplied vectors.
Similar to szipWith4M, zip four vectors together with a quaternary monadic action, while discarding its result. The action will be invoked as many times as the length of the smallest vector.