when using "not", stylistically I like using parens to make your intentions explicitly clear -- not(self) == other versus not(self == other)