docs: def finditer(self, expr):
          """Return an iterator over all matches in `expr`
  
          Iterate over all :class:`MatchDict` results of matches for any
          matching (sub-)expressions in `expr`. The order of the matches conforms
          to the equivalent matched expressions returned by :meth:`findall`.
          """
          try:
              for arg in expr.args:
                  for m in self.finditer(arg):
                      yield m
              for arg in expr.kwargs.values():
                  for m in self.finditer(arg):
                      yield m
          except AttributeError:
              pass
          m = self.match(expr)
          if m:
              yield m