             return true
             
         default:
-            return false
+            preconditionFailure()
         }
     }
     

        switch self {
        case .empty:
            return NSLocalizedString("Name can’t be empty.", comment: "")
            
        case .containSlash:
            return NSLocalizedString("You can’t use a name that contains “/”.", comment: "")
            
        case .startWithDot:
            return NSLocalizedString("You can’t use a name that begins with a dot “.”.", comment: "")
            
        case .duplicated(let name):
            return String(format: NSLocalizedString("The name “%@” is already taken.", comment: ""), name)
        }


struct ImportDuplicationError: LocalizedError, RecoverableError {
    
    var name: String
    var url: URL
    var type: SettingFileType
    var attempter: SettingFileManager
    
    
    var errorDescription: String? {
