@staticmethod
def _broadcast_3_or_more_args(qargs: List) -> List:
    if all(((len(qarg) == len(qargs[0])) for qarg in qargs)):
        for arg in zip(*qargs):
            (yield (list(arg), []))
    else:
        raise CircuitError(('Not sure how to combine these qubit arguments:\n %s\n' % qargs))
@staticmethod
def _broadcast_3_or_more_args(qargs: List) -> List:
    if all(((len(qarg) == len(qargs[0])) for qarg in qargs)):
        for arg in zip(*qargs):
            (yield (list(arg), []))
    else:
        raise CircuitError(('Not sure how to combine these qubit arguments:\n %s\n' % qargs))