Besides their value as checkable properties, constraints provide useful documentation of the component’s behavior. Indeed, in our experience so far, constraints often duplicate information provided informally in documentation.