-- | /O(1)/ Yield at the first @n@ elements without copying. The vector may
-- contain less than @n@ elements in which case it is returned unchanged.
take :: G.Vector (Vector k) (Rec (TaggedFunctor Identity) rs)
  => Int -> (Vector k) (Rec (TaggedFunctor Identity) rs) -> (Vector k) (Rec (TaggedFunctor Identity) rs)
take = G.take
take :: G.Vector (Vector k) (Rec (TaggedFunctor Identity) rs)
  => Int -> (Vector k) (Rec (TaggedFunctor Identity) rs) -> (Vector k) (Rec (TaggedFunctor Identity) rs)
take = G.take
take = G.take