from typing import Generic, List from modules.variant import QVariant from utils.types import A, C, Q, V class QVariantSet(Generic[C, V, Q, A]): variants: List[QVariant[C, V, Q, A]] def __iter__(self): for variant in self.variants: yield variant