pub fn transpose_rule(
op: &StdTensorOp,
emitter: &mut impl OpEmitter<StdTensorOp>,
cotangent_out: &[Option<LocalValId>],
inputs: &[ValRef<StdTensorOp>],
mode: &OpMode,
ctx: &mut ShapeGuardContext,
) -> Vec<Option<LocalValId>>