def __new__(cls, qubit0: ops.Qid, qubit1: ops.Qid) -> Coupler:
        """Creates a grid coupler between two qubits.

        Note that the qubits will be implicitly sorted.
        ie. `cirq_google.GridCoupler(q1, q2)` will be the same as
        `cirq_google.GridCoupler(q2, q1)`.

        Note that, if using custom Qid objects, the Qid must
        have an ordering that allows for comparison.

        Args:
            qubit0: The first qubit/Qid of the pair
            qubit1: The second qubit/Qid of the pair
        """
        inst = super().__new__(cls)
        if qubit0 < qubit1:
            inst._qubit0 = qubit0
            inst._qubit1 = qubit1
        else:
            inst._qubit0 = qubit1
            inst._qubit1 = qubit0
        return inst
Creates a grid coupler between two qubits.

        Note that the qubits will be implicitly sorted.
        ie. `cirq_google.GridCoupler(q1, q2)` will be the same as
        `cirq_google.GridCoupler(q2, q1)`.

        Note that, if using custom Qid objects, the Qid must
        have an ordering that allows for comparison.

        Args:
            qubit0: The first qubit/Qid of the pair
            qubit1: The second qubit/Qid of the pair
        
cirq-google/cirq_google/ops/coupler.py