I can see one argument being that, if we ever get for-in-else syntax, this will allow something that isn't really possible (at least not without duplication) now:
for? x in optSequence {
//Do something with X
} else {
//The loop didn't run at all
}
Without the sugar, the closest we could come is:
if let sequence = optSequence {
for x in sequence {
//Do something with x
} else {
//The loop didn't run at all
}
} else {
//This most likely has the exact same code as the inner else statement
}