-- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
-- vector of results. Equvalent to @flip 'mapM'@.
forM :: (Monad m, G.Vector (Vector k) (Rec (TaggedFunctor Identity) rs), G.Vector (Vector k) (Rec (TaggedFunctor Identity) ss))
  => (Vector k) (Rec (TaggedFunctor Identity) rs) -> (Rec (TaggedFunctor Identity) rs -> m (Rec (TaggedFunctor Identity) ss)) -> m ((Vector k) (Rec (TaggedFunctor Identity) ss))
forM = G.forM
forM :: (Monad m, G.Vector (Vector k) (Rec (TaggedFunctor Identity) rs), G.Vector (Vector k) (Rec (TaggedFunctor Identity) ss))
  => (Vector k) (Rec (TaggedFunctor Identity) rs) -> (Rec (TaggedFunctor Identity) rs -> m (Rec (TaggedFunctor Identity) ss)) -> m ((Vector k) (Rec (TaggedFunctor Identity) ss))
forM = G.forM
forM = G.forM