pub fn validate(name: &str) -> Result<(), NameError>Expand description
Check a whole name, returning the first character that makes it unreadable.
Runs over the name rather than per character because the joiners are only
legitimate after an emoji: 👨👩 is one glyph, while ab renders as ab
and is a different variable from ab.