No, we don't create a new Op.  We create a new node with the same Op instance and then tweak it.  There is even an assert to make sure of that.

Also Marc indicated that it doesn't work in DebugMode.