use cartesian product of hierarchies and tests, but explicitly
use more familiar variables
break out logic from iteration
break out summary mode