The rule can be an arbitrary expression. Allow user to provide a pattern that restricts the application of the rule.