silly copy-paste bug
a few convenience utilities for working with equality
make equality start equal on re-entrant calls, and add new member* functions to list