Daniel Spiewak wrote here that:
Aliases already aren’t just aliases. They’re actually subtypes, and that abstraction leaks through in a number of places.
I would like to know more about this. Surely if an alias has different type parameterization than the original type, then it may affect type inference in various places, e.g.
type Thing[T] = List[Option[T]]
but is it possible that a plain alias like this one:
type Alias = Original
changes type inference or implicit search? That is, can something change in the program when we expand this alias everywhere (excluding bugs)?
I’ll be grateful for some examples.