Generalised assertions and quickcheck style testing.