1) generics parameterized by the enclosing class. This now works:
class A { List[A] list; }
2) creating a generic derived from another generic specialized to one
of its parameters: class B[T] : A[T] {}
There was a third problem with deriving from a containing class (class
A { class B : A {} }), this is no longer reproducible, perhaps as a
result of the first fix.
I encourage you to continue work on the enhancements that revealed
these issues: in addition to providing excellent functionality, they
are exercising the generics system to a new degree.