Required for the Plasma Mobile phonebook app where both are separate fields
In case a, all first names would probably be in a string separated by spaces, same for multiple last names.
In case c, I guess only the last name would be set maybe.
I have been only working with the KContacts based vcard backend, where givenName and FamilyName could be mapped directly. I'm not quite sure what KContacts does in this cases though.