Is this what some of you are asking for?
bool a = true; // ok bool b = false; // ok bool c = 1; // error, no implicit conversion bool c = getInt(); // error? ok? int x = 42;if(x) { ... } // ok (doesn't this imply c = getInt() ok too?
if(42) { ... } // ok