Integrates QuickChecked properties into the type system with phantom types