Ages ago, I put together a solution for tuplizing if-lets. Today, I finally got to give them a workout. Here’s what they looks like in practice. Before interpolating the cubic Bezier curve in the path element, I perform an if-let across four different optional values. If any are nil, the entire if-let fails and the statement shortcuts, just like a default if-let construct would.

```case kCGPathElementAddCurveToPoint.value:
if let (currentPoint, point, controlPoint1,
controlPoint2) = tupled(current?.point, element.point,
element.controlPoint1, element.controlPoint2) {
for index in 1..<numberOfBezierSamples {
let percent = CGFloat(index) / CGFloat(numberOfBezierSamples)
let newpoint = CubicBezierPoint(percent, currentPoint,
controlPoint1, controlPoint2, point)
results += [newpoint]
}
results += [point]
current = element
}
break;```

Lily Ballard helped me figure out the details of the solution. You can examine the source in this gist. Let me know if you find it at all useful.

Update: Yes, in Swift 1.2 you can combine if-let clauses with multiple tests as I described in this post. Here’s an example:

```if let x = x, let y = y, let z = z {
println("All Okay")
} else {
println("At least one nil")
}```