Почему нельзя добавить строку! через + = оператор?

Как видно из названия, я пытаюсь добавить текст в неявно развернутую необязательную строку через+= оператор, который дает мне

'String!' is not identical to 'UInt8'

Чтобы вы поняли, что я имею в виду:

var myString: String = "Hello "
myString += "world" // works great

var myOptionalString: String! = "Foo "
myOptionalString += " bar" // error: String! is not identical to 'UInt8'

Однако, если я добавлю его в то время как назначение работает

var myOptionalString: String! = "Foo "
myOptionalString = myOptionalString + " bar" // works great

Кто-нибудь может сказать мне причину этого, или я что-то пропустил в опциях?

Обновить

mySecondOpString: String? = "Hello "
mySecondOpString! += "world" // works great too

Ответы на вопрос(2)

Ваш ответ на вопрос