pub fn gates_can_commute(gate1: &dyn GateOp, gate2: &dyn GateOp) -> bool
Check if two gates can be commuted past each other