Improve precondition checking on record construction to have prettier error message