haskell-hedgehog-classes
haskell-hedgehog-classes copied to clipboard
consolidate `Laws` with `Group`?
These are a bit different, since the intention of Group is more general, whereas Laws is meant to indicate just a test involving a typeclass law(s).
Here are their respective definitions:
data Group = Group
{ groupName :: GroupName
, groupProperties :: [(PropertyName, Property)]
}
data Laws = Laws
{ lawsTypeClass :: String
, lawsProperties :: [(String, Property)] -- ^ (law name, property)
}