Может кто-нибудь объяснить мне следующее поведение в Swift?
func test() -> Bool {
    print("1 before return")
    return false
    print("1 after return")
}
func test2() {
    print("2 before return")
    return
    print("2 after return")
}
test()
test2()
 возвращает:
1 before return
2 before return
2 after return
  Я ожидаю, что print("2 after return") никогда не будет выполняться, так как это после оператора return.
Есть ли что-то, что мне не хватает?
(протестировано с Swift 4/4.1 и Xcode 9.2/Xcode 9.3 beta 2)