Use these conventions when tightening types in existing modules so MyPy gains signal without forcing a large rewrite.
TypedDict when the code expects named keys from subprocesses, HTTP APIs, webhooks, or serializer-like data.Protocol instead of Any or bare duck-typed comments.X | None for nullable values.Mapping[str, object], Sequence[str], or similar concrete abstractions when callers do not require mutability.