A = B . B = C D. C = A I. D = X. D = "d" X. F = List(Z). I = Ident. List(S) ~ {S}. // // Notice that D is defined twice, // X is undefined twice (but only one error message appears), // when there should be 2 messages, // and Z is undefined in the parameter class //