Module type Reins.Quickcheck.Law

module type Law = sig .. end

module Arg: Reins.Types.Mono.Arbitrary 
A value of type Arg.t will be randomly generated and passed to the law function below.
val desc : string
Description of the test. This value is simply stored in the result of the Check functor below for easy access by a test driver.
val law : Arg.t -> bool
The function that implements the law. The function should return true when the law holds for the input and false if the law does not hold. It may also raise the exception Reins.Quickcheck.Trivial if the law only trivially applies to the input, in which case a new input will be attempted.