 extension Failable: CustomDebugStringConvertible {
 
 	public var debugDescription: String {
-		return description
+		switch self {
+		case let .Failed(error):     return "Failed(\(String(reflecting: error)))"
+		case let .Succeeded(result): return "Succeeded(\(String(reflecting: result)))"
+		}
 	}
 }
 

public enum Failable<Result> {
	case Failure(ErrorType)
	case Success(Result)


	public var error: ErrorType? {
		switch self {
		case let .Failure(error): return error
		case .Success:            return nil
		}
	}



	public var description: String {
		switch self {
		case let .Failed(error):     return "Failed(\(error))"
		case let .Succeeded(result): return "Succeeded(\(result))"
		}
	}
}
