validate

abstract fun validate(value: T): String?

Returns null if value is valid, or a human-readable reason string if invalid.