The suggestion to use a type is more to make the code self-documenting than to provide any particular type safety (although it would provide a natural place for any code we need to check the validity of a locale string). If it is worth adding comments to tell us that each locale String is representing something other than just a String, then we can do so a lot more maintainably by using the type system.