quickCheck is:exact

Tests a property and prints the results to stdout. By default up to 100 tests are performed, which may not be enough to find all bugs. To run more tests, use withMaxSuccess. If you want to get the counterexample as a Haskell value, rather than just printing it, try the quickcheck-with-counterexamples package.
Perform an efficient check on a string, to quickly determine if the string is in a particular normalization form. A Nothing result indicates that a definite answer could not be determined quickly, and a more thorough check is required, e.g. with isNormalized. The user may have to convert the string to its normalized form and compare the results. A result of Just True or Just False indicates that the string definitely is, or is not, in the given normalization form.
Create a Hedgehog Gen from a QuickCheck Gen. By default the Gen created will not have any shrinking, you can use Gen.shrink if you have a shrink function which you would like to apply.