definitive refactoring of verification of algebraic laws - as good as I can get it now