-- | /O(1)/ Yield a slice of the vector without copying. The vector must
-- contain at least @i+n@ elements but this is not checked.
unsafeSlice :: G.Vector (Vector k) (Rec (TaggedFunctor Identity) rs)
  => Int   -- ^ @i@ starting index
                       -> Int   -- ^ @n@ length
                       -> (Vector k) (Rec (TaggedFunctor Identity) rs)
                       -> (Vector k) (Rec (TaggedFunctor Identity) rs)
unsafeSlice = G.unsafeSlice
unsafeSlice :: G.Vector (Vector k) (Rec (TaggedFunctor Identity) rs)
  => Int   -- ^ @i@ starting index
                       -> Int   -- ^ @n@ length
                       -> (Vector k) (Rec (TaggedFunctor Identity) rs)
                       -> (Vector k) (Rec (TaggedFunctor Identity) rs)
unsafeSlice = G.unsafeSlice
unsafeSlice = G.unsafeSlice