def compare_sets(set1, set2):
    """Compute the intersection and differences between two sets.

    :param set1: The first input set.
    :type set1: set
    :param set2: The second input set.
    :type set2: set
    :returns:
        tuple (set_intersection, set1_diff, set2_diff)
        WHERE
        set_intersection(set) is the set of shared values.
        set1_diff(set) is the set of values unique to the first set.
        set2_diff(set) is the set of values unique to the second set.
    :rtype: tuple
    """
    set_intersection = set1 & set2
    set1_diff = set1 - set2
    set2_diff = set2 - set1
    return set_intersection, set1_diff, set2_diff
