     /// - Returns: A `ValueType` or nil if the key was not found.
     public func get<ValueType>(for key: Key<ValueType>) -> ValueType? {
         if isSwiftCodableType(ValueType.self) || isFoundationCodableType(ValueType.self) {
-            return self.userDefaults.value(forKey: key._key) as? ValueType
+            return userDefaults.value(forKey: key._key) as? ValueType
         }
         
-        guard let data = self.userDefaults.data(forKey: key._key) else {
+        guard let data = userDefaults.data(forKey: key._key) else {
             return nil
         }
         

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


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