docs: def all(self, element_type=None, response_path=None):
          """
          Generates Bunches, each representing a single subelement of the
          response. If an element_type is requested, only elements whose
          tag matches the element_type are returned. If the response has no
          subelements (for example, in a <return>-less command), yields None.
          """
          path = self.RETURN_PATH
          if response_path is not None:
              path += "/" + response_path
          response_element = self.response_etree.find(path)
          if response_element is None:
              return
          for subelement in self.response_etree.find(path).getchildren():
              if element_type is None or subelement.tag == element_type:
                  yield _populate_bunch_with_element(subelement)