     public var value: T? {
         switch self {
         case .Success(let success):
-            return success.value
+            return success
         default:
             return nil
         }
     }
-}
-
-public class Value<T> {
-    let value: T
-    init(_ value: T) { self.value = value }
 }
 
 public class Keychain {

}

public enum FailableOf<T> {
    case Success(Value<T?>)
    case Failure(NSError)
    
    init(_ value: T?) {
        self = .Success(Value(value))
    }
    
    init(_ error: NSError) {

    public var debugDescription: String {
        switch self {
        case .Success(let success):
            return "\(success)"
        case .Failure(let error):
            return "\(error)"
        }
