Property package:QuickCheck

The type of properties.
Convert the thing to a property.
The property monad is really a monad transformer that can contain monadic computations in the monad m it is parameterized by:
  • m - the m-computations that may be performed within PropertyM
Elements of PropertyM m a may mix property operations and m-computations.
Optional; used internally in order to improve shrinking. Tests a property but also quantifies over an extra value (with a custom shrink and show function). The Testable instance for functions defines propertyForAllShrinkShow in a way that improves shrinking.
Do I/O inside a property. Warning: during shrinking, the I/O may not always be re-executed. Instead, the I/O may be executed once and then its result retained. If this is not acceptable, use ioProperty instead.
Do I/O inside a property. Warning: any random values generated inside of the argument to ioProperty will not currently be shrunk. For best results, generate all random values before calling ioProperty, or use idempotentIOProperty if that is safe.