def METHOD_NAME(self, o):
    if is_dataclass(o):
        return asdict(o)
    if isinstance(o, UUID):
        return str(o)
    if isinstance(o, Enum):
        return o.value
    return super().METHOD_NAME(o)  # pragma: no cover