pattern match failure for mkKeyFromValues

also generate less code in fromPersistValues