Build parameterized type typeclass laws for the given instances of some datatype.
Type lambda of the datatype under test.
Type lambda of first underlying type.
Type lambda of second underlying type.
Type lambda of third underlying type.
Instances to test. Key is typeclass name and value is the instance under test. For example, { Monad: Option.Monad } will run the monad typeclass laws on Option.
{ Monad: Option.Monad }
Option
Parameterized typeclass test options.
Build parameterized type typeclass laws for the given instances of some datatype.