We've seen references to use a individual sub-contact type (CiviCRM for animal rescue charity) but the issue is dogs do not have last names. Atleast, not always ;)
So how have people handled this? Adding in a placeholder for last name is a workaround I want to avoid. I think the best situation is to disable last name only for a certain sub-contact type or add in the CID to the last name field.