A set of laws ready to be tested.
Optional suffix to attach to LawTest label. Used, for example,
to differentiate between the different Monoid instances of
Boolean.
Optional list of LawSets that are required for the
typeclass under test. For example, the Monoid laws
require the instance under test pass the Semigroup
laws besides the Monoid laws themselves. They do
this by adding the Semigroup laws in this field.
Define a set of laws for some typeclass on a concrete type.