This is best explained by an example; consider the following component type definition: componenttype B { port X x; } componenttype C { port Y y; component B b1; component B b2; wire P p { b1.x; b2.x; } componenttype A { port internal Z z; component C c; wire W w { z; c.y} } componenttype universal u { component A foo; component A bar; } This definition contains three component types A, B, and C.