-- Filtering
-- ---------

-- | /O(n)/ Drop elements that do not satisfy the predicate
filter :: G.Vector (Vector k) (Rec (TaggedFunctor Identity) rs)
  => (Rec (TaggedFunctor Identity) rs -> Bool) -> (Vector k) (Rec (TaggedFunctor Identity) rs) -> (Vector k) (Rec (TaggedFunctor Identity) rs)
filter = G.filter
filter :: G.Vector (Vector k) (Rec (TaggedFunctor Identity) rs)
  => (Rec (TaggedFunctor Identity) rs -> Bool) -> (Vector k) (Rec (TaggedFunctor Identity) rs) -> (Vector k) (Rec (TaggedFunctor Identity) rs)
filter = G.filter
filter = G.filter