4 ms·
> In writing this it occurs to me that I do often know that I have distinct types (for example, for what functions return) and I shouldn't mix them, but I don't
by craftkiller 2y ago
> In writing this it occurs to me that I do often know that I have distinct types (for example, for what functions return) and I shouldn't mix them, but I don't want to specify their concrete shape as dicts, tuples, or whatever. [...] Type aliases are explicitly equivalent to their underlying thing, so I can't create a bunch of different names for eg typing.Any and then expect type checkers to complain if I mix them.
It sounds to me like you're describing the NewType pattern which is just slightly farther down the page you linked in the article.
https://docs.python.org/3/library/typing.html#newtype https://docs.python.org/3/library/typing.html#newtype