list of all matching (sub-)expressions in `expr`

        See also:
            :meth:`finditer` yields the matches (:class:`MatchDict` instances)
            for the matched expressions.

def findall(self, expr):
        """list of all matching (sub-)expressions in `expr`

        See also:
            :meth:`finditer` yields the matches (:class:`MatchDict` instances)
            for the matched expressions.
        """
        result = []
        try:
            for arg in expr.args:
                result.extend(self.findall(arg))
            for arg in expr.kwargs.values():
                result.extend(self.findall(arg))
        except AttributeError:
            pass
        if self.match(expr):
            result.append(expr)
        return result