-- Bulk updates
-- ------------

-- | /O(m+n)/ For each pair @(i,a)@ from the list, replace the vector
-- element at position @i@ by @a@.
--
-- > <5,9,2,7> // [(2,1),(0,3),(2,8)] = <3,9,8,7>
--
(//) :: G.Vector (Vector k) (Rec (TaggedFunctor Identity) rs)
  => (Vector k) (Rec (TaggedFunctor Identity) rs)   -- ^ initial vector (of length @m@)
                -> [(Int, Rec (TaggedFunctor Identity) rs)]                          -- ^ list of index/value pairs (of length @n@)
                -> (Vector k) (Rec (TaggedFunctor Identity) rs)
(//) = (G.//)
(//) :: G.Vector (Vector k) (Rec (TaggedFunctor Identity) rs)
  => (Vector k) (Rec (TaggedFunctor Identity) rs)   -- ^ initial vector (of length @m@)
                -> [(Int, Rec (TaggedFunctor Identity) rs)]                          -- ^ list of index/value pairs (of length @n@)
                -> (Vector k) (Rec (TaggedFunctor Identity) rs)
(//) = (G.//)
(//) = (G.//)