-- | /O(n)/ Left fold with strict accumulator (function applied to each element
-- and its index)
ifoldl' :: G.Vector (Vector k) (Rec (TaggedFunctor Identity) rs)
  => (r -> Int -> Rec (TaggedFunctor Identity) rs -> r) -> r -> (Vector k) (Rec (TaggedFunctor Identity) rs) -> r
ifoldl' = G.ifoldl'
ifoldl' :: G.Vector (Vector k) (Rec (TaggedFunctor Identity) rs)
  => (r -> Int -> Rec (TaggedFunctor Identity) rs -> r) -> r -> (Vector k) (Rec (TaggedFunctor Identity) rs) -> r
ifoldl' = G.ifoldl'
ifoldl' = G.ifoldl'