What I am actually doing is more complex but it comes down to being able to implement function to detect that something is a tuple, regardless of what the are the types of i
In Swift 3, it's now done this way:
func isTuple(value: Any) -> Bool { if let type = Mirror(reflecting: value).displayStyle, type == .tuple { return true } return false } isTuple(value: ()) // true isTuple(value: (1, 2) // true isTuple(value: 3) // false