 public final class Key<ValueType: Codable> {
     fileprivate let _key: String
     public init(_ key: String) {
-        self._key = key
+        _key = key
     }
 }
 

    ///   - key: The associated `Key<ValueType>`.
    public func set<ValueType>(_ value: ValueType, for key: Key<ValueType>) {
        if isSwiftCodableType(ValueType.self) || isFoundationCodableType(ValueType.self) {
            self.userDefaults.set(value, forKey: key._key)
            return
        }
        
        do {
            let encoder = JSONEncoder()
            let encoded = try encoder.encode(value)
            self.userDefaults.set(encoded, forKey: key._key)
            self.userDefaults.synchronize()
        } catch {
            #if DEBUG
                print(error)

    ///
    /// - Parameter key: The key.
    public func clear<ValueType>(_ key: Key<ValueType>) {
        userDefaults.set(nil, forKey: key._key)
        userDefaults.synchronize()
    }
    
    /// Checks if there is a value associated with the specified key.
