code: def merge(self, other):
          
          other = IntervalCell.coerce(other)
          if self.is_equal(other):
              # pick among dependencies
              return self
          elif other.is_entailed_by(self):
              return self
          elif self.is_entailed_by(other):
              self.low, self.high = other.low, other.high
          elif self.is_contradictory(other):
              #import traceback
              #for line in traceback.format_stack(): print line.strip()
  
              raise Contradiction("Cannot merge [%0.2f, %0.2f] with [%0.2f, %0.2f]" \
                      % (self.low, self.high, other.low, other.high))
          else:
              # information in both
              self.low = max(self.low, other.low)
              self.high = min(self.high, other.high)
          return self
docs: Merges the two values