Повторяю вопрос - лично Вы будете воспитывать, следить и так далее, дабы с этим "чудесным" bool работали только &&, ||, =0, =1? Не компилятор? Ну и зачем этот 'bool', который и не bool? Для удобного наступания на грабли?
~ это есть тоже вполне себе логическая
операция. Поразрядное логическое НЕ.
~ это есть тоже вполне себе логическая

Не перегибайте палку. Компилятор не проследит и за тем, что я могу вызать (NULL) и грОмматические ошибки не отловит.
Суть такая: механизм сделать быстро и компактно по памяти есть. Удобен он или нет, это вопрос философский. Хотите что-бы компилятор относился ко всему слишком формально используйте Паскаль. Вы свободны в своём выборе =) Правда изначально топик был про свободу выбора контроллеров...