zipWithM package:hybrid-vectors
zipWithM :: (Monad m, Vector u a, Vector v b, Vector u c, Vector v d, Vector u e, Vector v f) => ((a, b) -> (c, d) -> m (e, f)) -> Vector u v (a, b) -> Vector u v (c, d) -> m (Vector u v (e, f)) O(min(m,n)) Zip the two vectors with the monadic action and
yield a vector of results
O(min(m,n)) Zip the two vectors with the monadic action and
ignore the results