code: def _harmonize_subset_types(set_, subset_tuples):
      
      # if argument is originally a set, return subsets also as sets;
      # otherwise (for non-set collection), return subsets as tuples
      if is_tuple(set_):
          return subset_tuples
      else:
          subset_class = set_.__class__ if is_set(set_) else tuple
          return imap(subset_class, subset_tuples)
docs: Possibly convert an iterable of tuples with subsets of given "set",
      to an iterable of :class:`set` objects if original "set" was so too.