Introducing Duck Unions: Python, Pydantic, and Discriminated Unions
I.
I really like sum types and matching patterns on them. For example:
class ConnectedClient:
ip: Tuple[int, int, int, int]
class AuthenticatedClient:
send: Callable[[str], None]
auth: AuthToken
class Disconnected:
pass
ClientConnection = ConnectedClient | AuthenticatedClient | Disconnected
This is very clean and ...
