Yeah, it's very easy to get into a situation of "type is a subtype of a larger version of itself" which obviously grows without bounds.
But the solution is trivial - basically the same as the old mathematical issue "set vs class": only small types are types, large types aren't. Which types are "small"? Well, precisely those, that don't contain abstract types.
See this brilliant paper for a longer treatise (the above is the essential summary): 1ML by Andreas Rossberg
But the solution is trivial - basically the same as the old mathematical issue "set vs class": only small types are types, large types aren't. Which types are "small"? Well, precisely those, that don't contain abstract types.
See this brilliant paper for a longer treatise (the above is the essential summary): 1ML by Andreas Rossberg
https://people.mpi-sws.org/~rossberg/1ml/