docs: def concentric_hexagons(radius, start=(0, 0)):
      """A generator which produces coordinates of concentric rings of hexagons.
  
      Parameters
      ----------
      radius : int
          Number of layers to produce (0 is just one hexagon)
      start : (x, y)
          The coordinate of the central hexagon.
      """
      x, y = start
      yield (x, y)
      for r in range(1, radius + 1):
          # Move to the next layer
          y -= 1
          # Walk around the hexagon of this radius
          for dx, dy in [(1, 1), (0, 1), (-1, 0), (-1, -1), (0, -1), (1, 0)]:
              for _ in range(r):
                  yield (x, y)
                  x += dx
                  y += dy