Приложенный скриншот говорит все: у меня есть действительный истинный Bool, я отрицаю его с помощью оператора bang, и (Xcode говорит мне) У меня есть недопустимое значение.
Похоже, что это "недопустимое" значение ведет себя так, как если бы оно было ложным. Но действительно, wtf?