Python, subclassificando tipos imutáveis

Eu tenho a seguinte classe:

class MySet(set):

    def __init__(self, arg=None):
        if isinstance(arg, basestring):
            arg = arg.split()
        set.__init__(self, arg)

Isso funciona como esperado (inicializando o conjunto com as palavras da sequência e não as letras). No entanto, quando eu quero fazer o mesmo com a versão imutável do conjunto, o__init__ O método parece ser ignorado:

class MySet(frozenset):

    def __init__(self, arg=None):
        if isinstance(arg, basestring):
            arg = arg.split()
        frozenset.__init__(self, arg)

Posso conseguir algo semelhante com__new__ ?

questionAnswers(1)

yourAnswerToTheQuestion