That being said, names is an awful example; if you have to assume a specific structure from someone's name you kinda already lost [1][2].
Better to just assume it's a opaque mutable unicode string and hope for the best.
[1] https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-...
[2] https://shinesolutions.com/2018/01/08/falsehoods-programmers...