This is a little bit delicate.  The `->name[i]` will be `NULL` if the caller does not specify a name *or* if the string duplication (`dup_string()`) in `add_well()` fails.  You need to account for the possibility of `NULL` names in some way.  At the moment I don't know if `NULL` names should compare equal or unequal.  Especially if one of the candidates is `NULL` and the other is not.