input: from typing import List
  
  def potential_square(grid: List[List[str]]) -> bool:
      """
      Given a 3x3 grid consisting of 'B' and 'W', where 'W' stands for white and 'B' stands for black, determine if it's possible to alter the color of no more than one cell to form a 2x2 uniform color block.
  
      Return true if creating a 2x2 block with a single color is achievable, otherwise yield false.
  
      Examples:
      >>> grid = [["B","W","B"],["B","W","W"],["B","W","B"]]
      true
      >>> grid = [["B","W","B"],["W","B","W"],["B","W","B"]]
      false
      >>> grid = [["B","W","B"],["B","W","W"],["B","W","W"]]
      true
  
      Constraints:
      grid.length == 3
      grid[i].length == 3
      grid[i][j] is either 'W' or 'B'.
      """
output:     
      def count_color_changes(sub_grid):
          changes_B = sum(cell == 'W' for row in sub_grid for cell in row)
          changes_W = sum(cell == 'B' for row in sub_grid for cell in row)
          return min(changes_B, changes_W)
  
      for i in range(2):
          for j in range(2):
              sub_grid = [row[j:j + 2] for row in grid[i:i + 2]]
              if count_color_changes(sub_grid) <= 1:
                  return True
                  
      return False
  