VCFG, chapter 4 (Classes), page 52 A Formal_generics part of a Class_declaration is valid if and only if every Formal_generic_name `G' appearing in it satisfies the following three conditions: 1 `G' is different from the name of any class in the surrounding universe. 2 `G' is different from any other Formal_generic_name appearing in the same Formal_generics_part. 3 The only types involved in the Constraint, if any, are classes or formal generic parameters other than `G'.