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