desempaque de estrellas para clases propias

Me preguntaba si es posible usar el desempaquetado de estrellas con clases propias en lugar de solo construir comolist ytuple.

class Agent(object):
    def __init__(self, cards):
        self.cards = cards
    def __len__(self):
        return len(self.cards)
    def __iter__(self):
        return self.cards

Y poder escribir

agent = Agent([1,2,3,4])
myfunc(*agent)

Pero me sale:

TypeError: visualize() argument after * must be a sequence, not Agent

¿Qué métodos debo implementar para hacer posible el desempaquetado?

Respuestas a la pregunta(1)

Su respuesta a la pregunta