code: def _is_impossible_by_count(self, state):
          
          # count all the tile types and name them for readability
          counts = {tile_type: 0 for tile_type in base.Tile._all_types}
          standard_wildcard_type = '2'
          for p, tile in state.board.positions_with_tile():
              # count all wildcards as one value
              tile_type = tile._type
              try:
                  int(tile_type)
                  counts[standard_wildcard_type] += 1
              except ValueError:
                  counts[tile_type] += 1
          skullbomb = counts['*']
          skull = counts['s']
          wildcard = counts[standard_wildcard_type]
          red = counts['r']
          green = counts['g']
          blue = counts['b']
          yellow = counts['y']
          exp = counts['x']
          money = counts['m']
          # always allow skullbomb with enough skulls
          if skullbomb and skullbomb + skull >= 3:
              return False
          # always allow wildcard with enough of one color
          if wildcard:
              if any(wildcard + color >= 3
                     for color in (red, green, blue, yellow)):
                  return False
          # disallow simple cases since special cases didn't occur
          if any(tile and tile < 3 for tile in (red, green, blue, yellow,
                                                exp, money, skull)):
              return True
          # allow the state if counts seem ok
          return False
docs: Disallow any board that has insufficient tile count to solve.