Validity and Validity-based testing

Many pieces of data have invariants that are not encoded in their type.
Validity based testing involves making those invariants explicit and making
(property) tests involving those types easy and general by providing very general
testing combinators. More info on GitHub.

Validity-based testing makes testing an order of magnitude less frictionful.
As tests become cheaper to write, writing correct software becomes easier.