I banged my head against this issue quite a bit last year. Specifically the thing that tripped me up, is how many fields can either have single value or be a list of values, and figuring out what is meant semantically when it's a list or a single value.