Unrolls (tagged) cirq.CircuitOperations by inserting operations inline at qubit frontier.

Each matching cirq.CircuitOperation is replaced by inserting underlying operations using the circuit.insert_at_frontier method. The greedy approach attempts to reuse any available space in existing moments on the right of circuit_op before inserting new moments.

circuit Input circuit to apply the transformations on. The input circuit is not mutated.
tags_to_check If specified, only circuit operations tagged with one of the tags_to_check are unrolled.

Copy of input circuit with (Tagged) CircuitOperation's expanded inline at qubit frontier.