This series proved much more chalenging than expect. The main difficulties being the test diff which were very hard to review. I finally solve this by generating a version of the test file with all no-op commented. From there I had the real expected hash and I could carry on.