https://github.com/llvm/llvm-project/blob/211c9752c8200fbb3ff7be1f6aa98037901758ce/mlir/lib/Transforms/Canonicalizer.cpp#L54-L60 `listener` is not copied over and therefore disallows the use cases where we want to insert attributes to newly created operations.