Figure 2. Violations using abstract types.