Well, one shouldn't assign non-`true`/`false` values to `bool` (but it seems to work, even in C++). And one shouldn't test booleans with `== true` / `== TRUE`, but rather just the literal `if (some_flag) { ... }`, but ok, let's leave it at that.