Можешь объяснить оператор `guard` в Swift, описать, чем он отличается от `if`, и обсудить преимущества использования `guard let` для распаковки переменных с точки зрения области видимости и читаемости кода? — ДейлиПреп