docs: def distance(self, other):
          '''Returns the distance to other (0 if intersection is nonempty).'''
          if self & other:
              return 0
          return numpy.max([other.left-self.right, self.left-other.right])