1/
Bugs in understanding:
* The JSON spec doesn't have NaNs
* A JSON module feature is that lists and tuples both serialize into arrays but can't be distinguished when deserialized.
2/
Bugs in understanding:
* color gamuts are limited
* colors in one gamut may not be representable in another
* implementations are constrained by underlying specifications
3/
Bugs in understanding:
* Floating point numbers differ from Real numbers: representation errors, round-off errors, catastrophic cancellation, overflow/underflow, ...
4/
They are tools that reveal flaws in your understanding or specifications of problems.
5/
And that is valuable even if the code under test didn't have any bugs from the outset.
6/
The conversion matrices typically go out to three decimal places, well beyond what early color TVs could hope to implement exactly and beyond the ability of the human eye to differentiate the results.
In contrast, #Hypothesis operates on real code and produces concrete failure cases.
Few tools attempt this because it is a hard problem and it doesn't have a perfect solution.
That said, it is nice to have when it works.
I like tools that get to the crux of a problem.