Make set.union and set.intersection convert a non-set self implicitly

Of course it can be done with a set subclass:

class Set(set):
    def intersection(self, *others):
        if not isinstance(self, set):
            self = set(self)
        return self.intersection(*others)

lists = [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
print(Set.intersection(*lists)) # outputs {3}

But why not make such an intuitive behavior built-in? What exactly could be the downsides?