code: def is_contradictory(self, other):
          
          other = self.coerce(other)
          # contradictory if both values are disjoint
          return self.get_values().isdisjoint(other.get_values())
docs: What does it mean for a set to contradict another? If a merge results
          in the empty set -- when both sets are disjoint.
  
          CONTRADICTION: self = {4} other = {3}
          NOT CONTRADICTION: self = {4} other = {3,4}
          NOT CONTRADICTION: self = {3,4} other = {3}