def compare_set(it, others, how='union', test=None):
    """Return a specific set of unique values based on `how` it is evaluated.

    Wraps set operators from the standard library.  Used to check values in demo.

    Parameters
    ----------
    it, others : iterable
        A container of unique or non-unique values.
    how : {'union', 'intersection', 'difference', 'symmetric_difference'}; default 'union'.
        Determine which type of set to use.  Applies set theory.
    test : {'issubset', 'issuperset', 'isdisjoint'}; default `None`
        Test the type of subset.

    """
    if isinstance(it, int):
        it = [it]
    if isinstance(others, int):
        others = [others]
    if test is None:
        test = ''
    if test.startswith('issub'):
        return set(it).issubset(others)
    if test.startswith('issuper'):
        return set(it).issuperset(others)
    if test.startswith('isdis'):
        return set(it).isdisjoint(others)
    if how.startswith('uni'):
        return set(it).union(others)
    elif how.startswith('int'):
        return set(it).intersection(others)
    elif how.startswith('diff'):
        return set(it).difference(others)
    elif how.startswith('symm'):
        return set(it).symmetric_difference(others)
