It should probably additionally throw on empty string? But maybe someone has a use case there... Additionally: - [ ] enforce no duplicate whitespace - [ ] enforce non-zero length - [ ] enforce only printable characters