 	}
 
 
-	public static func success(value: T) -> Result {
-		return .Success(ResultValue(value))
-	}
-
-
 	public var value: T? {
 		switch self {
 		case .Failure:            return nil
-		case let .Success(value): return value.value
+		case let .Success(value): return value
 		}
 	}
 }

		}
	}
}



// Workaround for Swift limitation which does not support dynamically sized enum<T>.

public final class ResultValue<T> {

	private let value: T


	private init(_ value: T) {
		self.value = value
	}
}


extension ResultValue: CustomDebugStringConvertible {

	public var debugDescription: String {
		return description
	}
}


extension ResultValue: CustomStringConvertible {

	public var description: String {
		return String(value)
	}
}

	}


	public func get() throws -> T {
		switch self {
		case let .Failure(error): throw error
		case let .Success(value): return value
		}
	}


