In the Schorre META X languages there is a driving rule. The program rule above is an example of a driving rule. The program rule is a "test" function that calls declaration, a "test" rule, that returns "success" or "failure". The $ loop operator repeatedly calling declaration until "failure" is returned. The $ operator is always successful, even when there are zero declaration. Above program would always return success. (In CWIC a long fail can bypass declaration. A long-fail is part of the backtracking system of CWIC)