Split Rekord into RekordBuilder and FixedRekord for validation purposes.
Actually validate rekords.
Let the validator provide the exception.
Convert a validator that returns a boolean into one that throws an exception.
Make it easy to cast any RekordBuilder to a ValidatingRekord.
RekordKey should wrap a FixedRekord.
Validate everything and nothing.