¿Cómo puedo concatenar múltiples cadenas opcionales en swift 3.0?

Estoy tratando de concatenar múltiples cadenas en Swift 3:

var a:String? = "a"
var b:String? = "b"
var c:String? = "c"
var d:String? = a! + b! + c!

Al compilar me sale el siguiente error:

error: cannot convert value of type 'String' to specified type 'String?'
var d:String? = a! + b! + c!
                ~~~~~~~~^~~~

Esto solía funcionar en Swift 2. No estoy seguro de por qué ya no funciona.

Respuestas a la pregunta(5)

Su respuesta a la pregunta