Open
Description
The interface is unclear (weird strides in the list that depend on the qubit number) and overlaps with a for loop:
controls:list[Qubit] = ...
targets:list[Qubit] = ...
op:Op = ...
for c,t in zip(controls,targets):
squin.qubit.apply(op,c,t)
# equivalent to
register:list[Qubit] = interleave(controls,targets) #lol how do you do this actually? Where the evens are controls and odds are targets
squin.qubit.broadcast(op,register)