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

        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 SettingFileError: LocalizedError {
    
    enum ErrorKind {
        
        case deletionFailed
        case importFailed
        case noSourceFile
    }
    
    var kind: ErrorKind
    var name: String
    var error: NSError?
    
    
    var errorDescription: String? {
