Open
Description
Using typealias
es as disambiguating qualifiers is a stretch of the language feature and doesn't align with the typealias
contract. A typealias
allows you to use another name for a thing, whereas a qualifier is meant to disambiguate between two different things represented by the same underlying type.
Additionally, the presence of inline classes eliminates the need for any kind of qualifier, since they provide a toll-free way to disambiguate values based on what they represent, rather than their type.
The suggestion here is to deprecate the use of typealias
es as qualifiers and instead recommend the use of inline classes (i.e. user defined value classes) for such cases.