Python, subclases de tipos inmutables

Tengo la siguiente clase:

class MySet(set):

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

Esto funciona como se esperaba (inicializando el conjunto con las palabras de la cadena en lugar de las letras). Sin embargo, cuando quiero hacer lo mismo con la versión inmutable de set, el__init__ El método parece ser ignorado:

class MySet(frozenset):

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

¿Puedo lograr algo similar con__new__ ?

Respuestas a la pregunta(1)

Su respuesta a la pregunta