from dataclasses import dataclass, field from typing import Generic from modules.utils.types import A, C, Q, V from modules.variant import QVariant @dataclass class QVariantSet(Generic[C, V, Q, A]): variants: list[QVariant[C, V, Q, A]] = field(default_factory=list) def __iter__(self): for variant in self.variants: yield variant