'Return the intersection of two sets as a new set.
(I.e. all elements that are in both sets.)'

def __and__(self, other):

    if (not isinstance(other, BaseSet)):
        return NotImplemented
    return self.intersection(other)
