<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def difference(*sets, **kwargs):
 """subtracts all tail sets from the head set Parameters sets : tuple of indexable objects first set is the head, from which we subtract other items form the tail, which are subtracted from head Returns ------- items which are in the head but not in any of the tail sets Notes ----- alt implementation: compute union of tail, then union with head, then use set_count(1) """

    head, tail = sets[0], sets[1:]
    idx = as_index(head, **kwargs)
    lhs = idx.unique
    rhs = [intersection(idx, s, **kwargs) for s in tail]
    return exclusive(lhs, *rhs, axis=0, assume_unique=True)