> otherwise if the type (class, interface) on which the executable is defined is annotated with @ValidateOnExecution and the type attribute contains the executable type. If the type attribute contains IMPLICIT, then this rule is ignored and the behavior is equivalent to @ValidateOnExecution not being present. Otherwise if the type attribute does not contain the executable type, the executable is not validated.

if the type declaring(!?) the executable is annotated with @ValidateOnExecution and the type attribute contains the executable type. If the type attribute does not contain the executable type, the executable is not validated. If the type attribute is IMPLICIT, then this rule is ignored.

I would follow up the contains executable part with the does not contain part. It is confusing to me that IMPLICIT is mentioned in between. Also "contains IMPLICIT"? Is it valid to have _IMPLICIT_ with other values?