docs: def _to_qasm_output(
              self,
              header: Optional[str] = None,
              precision: int = 10,
              qubit_order: ops.QubitOrderOrList = ops.QubitOrder.DEFAULT,
      ) -> QasmOutput:
          """Returns a QASM object equivalent to the circuit.
  
          Args:
              header: A multi-line string that is placed in a comment at the top
                  of the QASM. Defaults to a cirq version specifier.
              precision: Number of digits to use when representing numbers.
              qubit_order: Determines how qubits are ordered in the QASM
                  register.
          """
          if header is None:
              header = 'Generated from Cirq v{}'.format(
                  cirq._version.__version__)
          qubits = ops.QubitOrder.as_qubit_order(qubit_order).order_for(
              self.all_qubits())
          return QasmOutput(operations=self.all_operations(),
                            qubits=qubits,
                            header=header,
                            precision=precision,
                            version='2.0')