code: def _get_recursive_difference(self, type):
          '''Returns the recursive diff between dict values'''
          if type == 'intersect':
              return [recursive_diff(item['old'], item['new']) for item in self._intersect]
          elif type == 'added':
              return [recursive_diff({}, item) for item in self._added]
          elif type == 'removed':
              return [recursive_diff(item, {}, ignore_missing_keys=False)
                      for item in self._removed]
          elif type == 'all':
              recursive_list = []
              recursive_list.extend([recursive_diff(item['old'], item['new']) for item in self._intersect])
              recursive_list.extend([recursive_diff({}, item) for item in self._added])
              recursive_list.extend([recursive_diff(item, {},
                                                    ignore_missing_keys=False)
                                     for item in self._removed])
              return recursive_list
          else:
              raise ValueError('The given type for recursive list matching '
                               'is not supported.'f _get_recursive_difference(self, type):
          '''Returns the recursive diff between dict values'''
          if type == 'intersect':
              return [recursive_diff(item['old'], item['new']) for item in self._intersect]
          elif type == 'added':
              return [recursive_diff({}, item) for item in self._added]
          elif type == 'removed':
              return [recursive_diff(item, {}, ignore_missing_keys=False)
                      for item in self._removed]
          elif type == 'all':
              recursive_list = []
              recursive_list.extend([recursive_diff(item['old'], item['new']) for item in self._intersect])
              recursive_list.extend([recursive_diff({}, item) for item in self._added])
              recursive_list.extend([recursive_diff(item, {},
                                                    ignore_missing_keys=False)
                                     for item in self._removed])
              return recursive_list
          else:
              raise ValueError('The given type for recursive list matching '
                               'is not supported.')
docs: Returns the recursive diff between dict values