docs: def contains(self, point_or_region):
          """ Checks if ``point_or_region`` is within this region """
          if isinstance(point_or_region, Location):
              return (self.x < point_or_region.x < self.x + self.w) and (self.y < point_or_region.y < self.y + self.h)
          elif isinstance(point_or_region, Region):
              return ((self.x < point_or_region.getX() < self.x + self.w) and
                      (self.y < point_or_region.getY() < self.y + self.h) and
                      (self.x < point_or_region.getX() + point_or_region.getW() < self.x + self.w) and
                      (self.y < point_or_region.getY() + point_or_region.getH() < self.y + self.h))
          else:
              raise TypeError("Unrecognized argument type for contains()")