 Each CDL1 rule, while being evaluated, can act on data, which is of unspecified type.Ideally the data should not be changed unless the rule is successful (no side effects on failure).This causes problems as although this rule may succeed, the rule invoking it might still fail, in which case the data change should not take effect.