Make sure that check() makes a "final" call of each rule
Add a completion mechanism to check()