Add a Compiler Crasher
The problem is that we currenly cannot represent the generic signature of
values of type `any P<some P>`. This is because we wind up producing
<Self where Self : P, Self.T == (some P)>
What we'd like to do in the future is erase the errant (some P) with
a fresh generic parameter and keep a substitution map on the side that
records the opaque type constraint. Something like
<Self, Opaque1 where Self : P, Opaque1 : P, Self.T == Opaque1> where Opaque1 == (some P)