 /// Represents a `Key` with an associated generic value type conforming to the
 /// `Codable` protocol.
 ///
-///     static let someKey = Key<T>("someKey")
+///     static let someKey = Key<ValueType>("someKey")
 public final class Key<ValueType: Codable> {
     fileprivate let _key: String
     public init(_ key: String) {

    ///
    /// - Parameters:
    ///   - some: The value to set.
    ///   - key: The associated `Key`.
    public func set<ValueType>(_ some: ValueType, for key: Key<ValueType>) {
        if isPrimitive(type: ValueType.self) {
            self.userDefaults.set(some, forKey: key._key)

        }
    }
    
    /// Checks if a given type is primitive.
    ///
    /// - Parameter type: The type.
    /// - Returns: A boolean value indicating if the type is primitive.
    private func isPrimitive<ValueType>(type: ValueType.Type) -> Bool {
        switch type {
        case is String.Type, is Bool.Type, is Int.Type, is Float.Type, is Double.Type:
