There are a lot of useful functions in this library for defining laws, but they're not exposed at all. I'm thinking mostly of things in Hedgehog.Classes.Common.Laws like congruency, lawWhere, etc.
It seems like there should be at least two exposed modules -- one for checking laws (containing most of what's already exposed) and one for defining laws (containing the stuff I mentioned above, plus the stuff like the equality tests that are already exposed).
There are a lot of useful functions in this library for defining laws, but they're not exposed at all. I'm thinking mostly of things in
Hedgehog.Classes.Common.Laws
likecongruency
,lawWhere
, etc.It seems like there should be at least two exposed modules -- one for checking laws (containing most of what's already exposed) and one for defining laws (containing the stuff I mentioned above, plus the stuff like the equality tests that are already exposed).