In plain English, if my source data has a 1 or 1.0 anywhere and my destination data has a True anywhere jsonpatch will want to move 1.0 into the JSON where a true should be. This causes validation failures and in general incorrect output as in JSON '1.0' and 'true' are not the same thing.
See test here that reproduces the issue in code: https://gist.github.com/Penguin2600/bca88971424a13f45d3560acf0e60f45
Or simply look at this REPL output to understand the impact: Taken from line 714 of jsonpatch.py:
In plain English, if my source data has a 1 or 1.0 anywhere and my destination data has a True anywhere jsonpatch will want to move 1.0 into the JSON where a true should be. This causes validation failures and in general incorrect output as in JSON '1.0' and 'true' are not the same thing.