add reflexive, symetric, transitive
coverage
avoid self-referential sets