def exclude_subsets(iter_of_sets):
    """ This function takes an interable of sets and returns a new list with all
        sets that are a subset of any other eliminated """
    keep_sets = []
    for si in iter_of_sets:
        si = set(si)
        any_subset = False
        for sj in iter_of_sets:
            sj = set(sj)
            if si != sj and si.issubset(sj):
                any_subset = True
                break
        if not any_subset:
            keep_sets.append(si)

    return keep_sets