we should probably add a (boolean) class attribute to cache this and avoid comparing tuples every time