I guess you prefered to normalize and then denormalize, instead of updating the asmData?

If you denormalized at the end, you would not need to handle `vars` in the last traversal. But, this is the same complexity either way so I suppose it does not matter.

Although I think this could be faster, if normalize did not modify the function, and we could avoid the denormalize. But probably not important. Please just add a TODO on this line to investigate optimizing it.