docs: def rotate_about(self, p, theta):
          """
          Rotate counter-clockwise around a point, by theta degrees.
  
          Positive y goes *up,* as in traditional mathematics.
  
          The new position is returned as a new Point.
          """
          result = self.clone()
          result.translate(-p.x, -p.y)
          result.rotate(theta)
          result.translate(p.x, p.y)
          return result