def __new__(cls, row: int, col: int) -> cirq.GridQubit:
        """Creates a grid qubit at the given row, col coordinate

        Args:
            row: the row coordinate
            col: the column coordinate
        """
        key = (row, col)
        inst = cls._cache.get(key)
        if inst is None:
            inst = super().__new__(cls)
            inst._row = row
            inst._col = col
            inst._hash = hash(col) * 1_000_003 + hash(row)
            cls._cache[key] = inst
        return inst
Creates a grid qubit at the given row, col coordinate

        Args:
            row: the row coordinate
            col: the column coordinate
        
cirq-core/cirq/devices/grid_qubit.py