Type `name` just disallows a few basic strings. For a more robust solution, we should: - [ ] Find the spec defining valid names of path components and enforce it. - [ ] Parsing and printing should support the option to escape special characters.