Yeah feel free to submit a PR for preserving the pre hooks in swapping.
For fusion I think we probably need to error out if you have a prehook for intermediate moduels like BatchNorm because when we fuse batchnorm into conv, batchnorm is gone.