Just to clarify to everyone as I am fixing a few discrepancies in the spec around method validation. Constraint *definition* means defining a new constraint type and its validator implementations. Constraint *declaration* means associating a constraint to a class, property, parameter or return value. Emmanuel