pub fn identifier_problem(name: &str) -> Option<String>
The problem with a package segment or an alias (decision G: [a-z][a-z0-9_]*, not a keyword): each is written in source as the first segment of <alias>.<unit>.
[a-z][a-z0-9_]*
<alias>.<unit>