¿Hay alguna manera mejor de hacer frente a la "pirámide de la perdición" anidada de Swift?

¿Existe una mejor manera de lidiar con una cadena de propiedades opcionales que anidadas?si deja declaraciones? Me aconsejaron usar if lets al examinar propiedades opcionales, lo que tiene sentido ya que las trata en tiempo de compilación en lugar de tiempo de ejecución, ¡pero parece una locura total! ¿Hay una mejor manera?

Aquí está la actual "pirámide de la fatalidad" con la que terminé, como ejemplo:

( users: [ JSONValue ]? ) in

if let jsonValue: JSONValue = users?[ 0 ]
{
    if let json: Dictionary< String, JSONValue > = jsonValue.object
    {
        if let userIDValue: JSONValue = json[ "id" ]
        {
            let userID: String = String( Int( userIDValue.double! ) )
            println( userID )
        }
    }
}

Posdata

La respuesta de Airspeed Velocity a continuación es la respuesta correcta, pero necesitará Swift 1.2 para usar múltiples permisos separados por comas como él sugiere, que actualmente solo se ejecuta en XCode 6.3, que está en beta.

Respuestas a la pregunta(3)

Su respuesta a la pregunta