WIP stage 6 - messy commit after a lot of hacking. Replaced backtracking with cross product of missing test variable levels.

This was motivated by having to systematically cover exclusion
possibilities - the previous approach did not do that.