The roles vocabulary provides a form of tuple interface that can be implemented by concrete tuple classes. A role definition is a mixin class that also prescribes a set of tuple slots. Roles are not tuple classes by themselves and cannot be instantiated by new. The vocabulary extends ROLE-TUPLE: syntax to allow concrete tuple types to declare membership to one or more roles, automatically including their prescribed slots.